{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4ca67757fe7c6e18",
   "metadata": {},
   "source": [
    "Word2Vec分两种：\n",
    "* Continuous Skip-gram (CSG)：跳词模型，给定中心词，预测周围词\n",
    "* Continuous Bag-of-Words (CBoW)：连续的词袋模型，给定周围词，预测中心词\n",
    "\n",
    "通过Word2Vec的方式来训练模型，最终既能学到词向量，也能学到词之间的语义关系。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f60096f5f506ffe0",
   "metadata": {},
   "source": [
    "### Skip-gram"
   ]
  },
  {
   "cell_type": "code",
   "id": "83b67e1f4dddeb5f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T07:15:19.619357Z",
     "start_time": "2025-07-02T07:15:19.613134Z"
    }
   },
   "source": [
    "# 语料\n",
    "texts = [\n",
    "    \"I love natural language processing.\",\n",
    "    \"I love machine learning.\",\n",
    "    \"I love coding in Python and Java.\",\n",
    "    \"I love Java.\",\n",
    "    \"I don't love Java.\"\n",
    "]\n",
    "\n",
    "sentences = [text.split() for text in texts]\n",
    "sentences"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['I', 'love', 'natural', 'language', 'processing.'],\n",
       " ['I', 'love', 'machine', 'learning.'],\n",
       " ['I', 'love', 'coding', 'in', 'Python', 'and', 'Java.'],\n",
       " ['I', 'love', 'Java.'],\n",
       " ['I', \"don't\", 'love', 'Java.']]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 35
  },
  {
   "cell_type": "markdown",
   "id": "9619ec1161fa7a7c",
   "metadata": {},
   "source": [
    "Skip-gram要做的是给定中心词，预测周围词，比如窗口大小为2时：\n",
    "1. 给定\"I\"，预测\"love\"和\"natural\"\n",
    "2. 给定\"love\"，预测\"I\"和\"natural\"和\"language\"\n",
    "3. 给定\"natural\"，预测\"I\"、\"love\"、\"language\"和\"processing\"\n",
    "\n",
    "窗口大小为2，表示中心词左右两边的2个词。\n",
    "\n",
    "这样就能学到每个词的向量表示和词与词之间的语义关系。"
   ]
  },
  {
   "cell_type": "code",
   "id": "637eb0ea94d500c5",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T07:36:31.256881Z",
     "start_time": "2025-07-02T07:36:31.250701Z"
    }
   },
   "source": [
    "# 词汇表\n",
    "vocabulary = {}\n",
    "for sentence in sentences:\n",
    "    for word in sentence:\n",
    "        if word not in vocabulary:\n",
    "            vocabulary[word] = len(vocabulary)\n",
    "\n",
    "vocab_size = len(vocabulary)  # 词汇表大小\n",
    "vocabulary"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'I': 0,\n",
       " 'love': 1,\n",
       " 'natural': 2,\n",
       " 'language': 3,\n",
       " 'processing.': 4,\n",
       " 'machine': 5,\n",
       " 'learning.': 6,\n",
       " 'coding': 7,\n",
       " 'in': 8,\n",
       " 'Python': 9,\n",
       " 'and': 10,\n",
       " 'Java.': 11,\n",
       " \"don't\": 12}"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 51
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## One-hot编码",
   "id": "bbe490329127ac96"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T07:38:19.592257Z",
     "start_time": "2025-07-02T07:38:19.583834Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def one_hot(idx, vocab_size):\n",
    "    one_hot = torch.zeros(vocab_size)\n",
    "    one_hot[idx] = 1\n",
    "    return one_hot\n",
    "\n",
    "one_hot(vocabulary['learning.'], vocab_size), one_hot(vocabulary['and'], vocab_size)"
   ],
   "id": "426d29d58cabfd2a",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(tensor([0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0.]),\n",
       " tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.]))"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 52
  },
  {
   "cell_type": "code",
   "id": "90aff1d12366680d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T07:46:28.251241Z",
     "start_time": "2025-07-02T07:46:28.241462Z"
    }
   },
   "source": [
    "import torch\n",
    "\n",
    "# 生成训练数据\n",
    "def generate_training_data(sentences, window_size):\n",
    "    center_words = []\n",
    "    target_words = []\n",
    "\n",
    "    for sentence in sentences:\n",
    "        indices = [vocabulary[word] for word in sentence]\n",
    "        for center_pos in range(len(indices)):\n",
    "            # 确定上下文窗口范围\n",
    "            start = max(0, center_pos - window_size)\n",
    "            end = min(len(indices), center_pos + window_size + 1)\n",
    "\n",
    "            # 收集上下文词\n",
    "            for context_pos in range(start, end):\n",
    "                if context_pos != center_pos:\n",
    "                    center_words.append(indices[center_pos])\n",
    "                    target_words.append(indices[context_pos])\n",
    "\n",
    "    return torch.LongTensor(center_words), torch.LongTensor(target_words)\n",
    "\n",
    "\n",
    "WINDOW_SIZE = 2\n",
    "center_words, target_words = generate_training_data(sentences, WINDOW_SIZE)\n",
    "\n",
    "center_words, target_words"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(tensor([ 0,  0,  1,  1,  1,  2,  2,  2,  2,  3,  3,  3,  4,  4,  0,  0,  1,  1,\n",
       "          1,  5,  5,  5,  6,  6,  0,  0,  1,  1,  1,  7,  7,  7,  7,  8,  8,  8,\n",
       "          8,  9,  9,  9,  9, 10, 10, 10, 11, 11,  0,  0,  1,  1, 11, 11,  0,  0,\n",
       "         12, 12, 12,  1,  1,  1, 11, 11]),\n",
       " tensor([ 1,  2,  0,  2,  3,  0,  1,  3,  4,  1,  2,  4,  2,  3,  1,  5,  0,  5,\n",
       "          6,  0,  1,  6,  1,  5,  1,  7,  0,  7,  8,  0,  1,  8,  9,  1,  7,  9,\n",
       "         10,  7,  8, 10, 11,  8,  9, 11,  9, 10,  1, 11,  0, 11,  0,  1, 12,  1,\n",
       "          0,  1, 11,  0, 12, 11, 12,  1]))"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 53
  },
  {
   "cell_type": "code",
   "id": "7b2b90c260785171",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T07:15:19.673483Z",
     "start_time": "2025-07-02T07:15:19.670457Z"
    }
   },
   "source": [
    "from torch.utils.data import TensorDataset, DataLoader\n",
    "\n",
    "dataset = TensorDataset(center_words, target_words)\n",
    "dataloader = DataLoader(dataset, batch_size=1, shuffle=False)"
   ],
   "outputs": [],
   "execution_count": 38
  },
  {
   "cell_type": "markdown",
   "id": "76bba520a86f87cd",
   "metadata": {},
   "source": "## 定义模型"
  },
  {
   "cell_type": "code",
   "id": "f552d9ec52e1cba0",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-03T07:52:35.238376Z",
     "start_time": "2025-07-03T07:52:35.158816Z"
    }
   },
   "source": [
    "from torch import nn\n",
    "from torch import optim\n",
    "\n",
    "class SkipGram(nn.Module):\n",
    "    def __init__(self, vocab_size, embedding_dim):\n",
    "        super().__init__()\n",
    "\n",
    "        self.input_embed = nn.Linear(vocab_size, embedding_dim, bias=False)    # y=wx  13*100\n",
    "        self.output_embed = nn.Linear(embedding_dim, vocab_size, bias=False)   # y=wx  100*13\n",
    "\n",
    "    def forward(self, center_word):\n",
    "        center_word_one_hot = one_hot(center_word, vocab_size).view(1, -1)\n",
    "\n",
    "        hidden = self.input_embed(center_word_one_hot)\n",
    "        return self.output_embed(hidden)\n",
    "\n",
    "\n",
    "EMBEDDING_DIM = 10\n",
    "\n",
    "# 初始化模型、损失函数和优化器\n",
    "model = SkipGram(vocab_size, EMBEDDING_DIM)\n",
    "optimizer = optim.SGD(model.parameters(), lr=0.01)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "\n",
    "# 开始训练\n",
    "EPOCHS = 10\n",
    "\n",
    "for epoch in range(EPOCHS):\n",
    "    for center_batch, target_batch in dataloader:\n",
    "        predict = model(center_batch)\n",
    "        loss = criterion(predict, target_batch)\n",
    "\n",
    "        # 反向传播\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "\n",
    "        print(f\"Epoch {epoch + 1}/{EPOCHS}, Loss: {loss:.4f}\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/10, Loss: 2.6427\n",
      "Epoch 1/10, Loss: 2.5813\n",
      "Epoch 1/10, Loss: 2.5834\n",
      "Epoch 1/10, Loss: 2.4585\n",
      "Epoch 1/10, Loss: 2.6689\n",
      "Epoch 1/10, Loss: 2.4673\n",
      "Epoch 1/10, Loss: 2.5597\n",
      "Epoch 1/10, Loss: 2.5322\n",
      "Epoch 1/10, Loss: 2.6578\n",
      "Epoch 1/10, Loss: 2.6455\n",
      "Epoch 1/10, Loss: 2.6362\n",
      "Epoch 1/10, Loss: 2.5229\n",
      "Epoch 1/10, Loss: 2.7105\n",
      "Epoch 1/10, Loss: 2.6132\n",
      "Epoch 1/10, Loss: 2.6768\n",
      "Epoch 1/10, Loss: 2.5622\n",
      "Epoch 1/10, Loss: 2.3861\n",
      "Epoch 1/10, Loss: 2.5440\n",
      "Epoch 1/10, Loss: 2.4837\n",
      "Epoch 1/10, Loss: 2.6077\n",
      "Epoch 1/10, Loss: 2.5869\n",
      "Epoch 1/10, Loss: 2.5705\n",
      "Epoch 1/10, Loss: 2.4208\n",
      "Epoch 1/10, Loss: 2.6558\n",
      "Epoch 1/10, Loss: 2.5567\n",
      "Epoch 1/10, Loss: 2.5931\n",
      "Epoch 1/10, Loss: 2.7321\n",
      "Epoch 1/10, Loss: 2.6022\n",
      "Epoch 1/10, Loss: 2.5126\n",
      "Epoch 1/10, Loss: 2.5887\n",
      "Epoch 1/10, Loss: 2.4937\n",
      "Epoch 1/10, Loss: 2.5391\n",
      "Epoch 1/10, Loss: 2.5577\n",
      "Epoch 1/10, Loss: 2.6170\n",
      "Epoch 1/10, Loss: 2.4745\n",
      "Epoch 1/10, Loss: 2.5042\n",
      "Epoch 1/10, Loss: 2.5349\n",
      "Epoch 1/10, Loss: 2.5637\n",
      "Epoch 1/10, Loss: 2.6511\n",
      "Epoch 1/10, Loss: 2.6319\n",
      "Epoch 1/10, Loss: 2.5602\n",
      "Epoch 1/10, Loss: 2.6398\n",
      "Epoch 1/10, Loss: 2.6023\n",
      "Epoch 1/10, Loss: 2.6931\n",
      "Epoch 1/10, Loss: 2.5973\n",
      "Epoch 1/10, Loss: 2.5653\n",
      "Epoch 1/10, Loss: 2.5250\n",
      "Epoch 1/10, Loss: 2.4671\n",
      "Epoch 1/10, Loss: 2.6518\n",
      "Epoch 1/10, Loss: 2.5574\n",
      "Epoch 1/10, Loss: 2.6311\n",
      "Epoch 1/10, Loss: 2.5518\n",
      "Epoch 1/10, Loss: 2.6076\n",
      "Epoch 1/10, Loss: 2.4942\n",
      "Epoch 1/10, Loss: 2.6629\n",
      "Epoch 1/10, Loss: 2.6276\n",
      "Epoch 1/10, Loss: 2.4738\n",
      "Epoch 1/10, Loss: 2.5932\n",
      "Epoch 1/10, Loss: 2.4954\n",
      "Epoch 1/10, Loss: 2.5130\n",
      "Epoch 1/10, Loss: 2.6240\n",
      "Epoch 1/10, Loss: 2.5888\n",
      "Epoch 2/10, Loss: 2.6008\n",
      "Epoch 2/10, Loss: 2.4647\n",
      "Epoch 2/10, Loss: 2.6195\n",
      "Epoch 2/10, Loss: 2.5083\n",
      "Epoch 2/10, Loss: 2.5881\n",
      "Epoch 2/10, Loss: 2.5505\n",
      "Epoch 2/10, Loss: 2.5560\n",
      "Epoch 2/10, Loss: 2.5203\n",
      "Epoch 2/10, Loss: 2.5823\n",
      "Epoch 2/10, Loss: 2.4725\n",
      "Epoch 2/10, Loss: 2.5703\n",
      "Epoch 2/10, Loss: 2.5575\n",
      "Epoch 2/10, Loss: 2.6380\n",
      "Epoch 2/10, Loss: 2.5078\n",
      "Epoch 2/10, Loss: 2.4865\n",
      "Epoch 2/10, Loss: 2.6113\n",
      "Epoch 2/10, Loss: 2.5838\n",
      "Epoch 2/10, Loss: 2.5544\n",
      "Epoch 2/10, Loss: 2.6717\n",
      "Epoch 2/10, Loss: 2.6235\n",
      "Epoch 2/10, Loss: 2.5828\n",
      "Epoch 2/10, Loss: 2.5402\n",
      "Epoch 2/10, Loss: 2.5314\n",
      "Epoch 2/10, Loss: 2.3811\n",
      "Epoch 2/10, Loss: 2.5693\n",
      "Epoch 2/10, Loss: 2.6162\n",
      "Epoch 2/10, Loss: 2.4911\n",
      "Epoch 2/10, Loss: 2.7064\n",
      "Epoch 2/10, Loss: 2.5857\n",
      "Epoch 2/10, Loss: 2.6108\n",
      "Epoch 2/10, Loss: 2.4727\n",
      "Epoch 2/10, Loss: 2.6686\n",
      "Epoch 2/10, Loss: 2.5434\n",
      "Epoch 2/10, Loss: 2.6029\n",
      "Epoch 2/10, Loss: 2.5563\n",
      "Epoch 2/10, Loss: 2.5565\n",
      "Epoch 2/10, Loss: 2.4518\n",
      "Epoch 2/10, Loss: 2.6896\n",
      "Epoch 2/10, Loss: 2.4907\n",
      "Epoch 2/10, Loss: 2.4783\n",
      "Epoch 2/10, Loss: 2.4717\n",
      "Epoch 2/10, Loss: 2.6541\n",
      "Epoch 2/10, Loss: 2.7307\n",
      "Epoch 2/10, Loss: 2.5017\n",
      "Epoch 2/10, Loss: 2.6444\n",
      "Epoch 2/10, Loss: 2.5197\n",
      "Epoch 2/10, Loss: 2.6060\n",
      "Epoch 2/10, Loss: 2.5728\n",
      "Epoch 2/10, Loss: 2.6460\n",
      "Epoch 2/10, Loss: 2.5260\n",
      "Epoch 2/10, Loss: 2.4124\n",
      "Epoch 2/10, Loss: 2.5795\n",
      "Epoch 2/10, Loss: 2.5747\n",
      "Epoch 2/10, Loss: 2.5818\n",
      "Epoch 2/10, Loss: 2.6346\n",
      "Epoch 2/10, Loss: 2.6595\n",
      "Epoch 2/10, Loss: 2.5585\n",
      "Epoch 2/10, Loss: 2.6006\n",
      "Epoch 2/10, Loss: 2.6572\n",
      "Epoch 2/10, Loss: 2.5685\n",
      "Epoch 2/10, Loss: 2.5804\n",
      "Epoch 2/10, Loss: 2.5617\n",
      "Epoch 3/10, Loss: 2.4970\n",
      "Epoch 3/10, Loss: 2.6855\n",
      "Epoch 3/10, Loss: 2.5641\n",
      "Epoch 3/10, Loss: 2.6643\n",
      "Epoch 3/10, Loss: 2.5594\n",
      "Epoch 3/10, Loss: 2.7034\n",
      "Epoch 3/10, Loss: 2.6423\n",
      "Epoch 3/10, Loss: 2.6540\n",
      "Epoch 3/10, Loss: 2.5022\n",
      "Epoch 3/10, Loss: 2.6532\n",
      "Epoch 3/10, Loss: 2.5715\n",
      "Epoch 3/10, Loss: 2.5761\n",
      "Epoch 3/10, Loss: 2.5750\n",
      "Epoch 3/10, Loss: 2.6650\n",
      "Epoch 3/10, Loss: 2.4904\n",
      "Epoch 3/10, Loss: 2.5505\n",
      "Epoch 3/10, Loss: 2.5526\n",
      "Epoch 3/10, Loss: 2.5417\n",
      "Epoch 3/10, Loss: 2.5467\n",
      "Epoch 3/10, Loss: 2.5534\n",
      "Epoch 3/10, Loss: 2.5801\n",
      "Epoch 3/10, Loss: 2.5508\n",
      "Epoch 3/10, Loss: 2.6376\n",
      "Epoch 3/10, Loss: 2.5555\n",
      "Epoch 3/10, Loss: 2.6055\n",
      "Epoch 3/10, Loss: 2.6168\n",
      "Epoch 3/10, Loss: 2.5935\n",
      "Epoch 3/10, Loss: 2.5159\n",
      "Epoch 3/10, Loss: 2.5347\n",
      "Epoch 3/10, Loss: 2.5413\n",
      "Epoch 3/10, Loss: 2.5705\n",
      "Epoch 3/10, Loss: 2.4739\n",
      "Epoch 3/10, Loss: 2.4474\n",
      "Epoch 3/10, Loss: 2.4807\n",
      "Epoch 3/10, Loss: 2.5132\n",
      "Epoch 3/10, Loss: 2.5698\n",
      "Epoch 3/10, Loss: 2.6359\n",
      "Epoch 3/10, Loss: 2.3765\n",
      "Epoch 3/10, Loss: 2.6498\n",
      "Epoch 3/10, Loss: 2.5911\n",
      "Epoch 3/10, Loss: 2.6285\n",
      "Epoch 3/10, Loss: 2.5497\n",
      "Epoch 3/10, Loss: 2.4891\n",
      "Epoch 3/10, Loss: 2.7266\n",
      "Epoch 3/10, Loss: 2.5202\n",
      "Epoch 3/10, Loss: 2.5698\n",
      "Epoch 3/10, Loss: 2.5851\n",
      "Epoch 3/10, Loss: 2.5797\n",
      "Epoch 3/10, Loss: 2.5502\n",
      "Epoch 3/10, Loss: 2.4732\n",
      "Epoch 3/10, Loss: 2.6034\n",
      "Epoch 3/10, Loss: 2.5449\n",
      "Epoch 3/10, Loss: 2.5585\n",
      "Epoch 3/10, Loss: 2.4054\n",
      "Epoch 3/10, Loss: 2.5132\n",
      "Epoch 3/10, Loss: 2.5751\n",
      "Epoch 3/10, Loss: 2.5683\n",
      "Epoch 3/10, Loss: 2.4643\n",
      "Epoch 3/10, Loss: 2.4801\n",
      "Epoch 3/10, Loss: 2.5758\n",
      "Epoch 3/10, Loss: 2.6068\n",
      "Epoch 3/10, Loss: 2.4739\n",
      "Epoch 4/10, Loss: 2.6510\n",
      "Epoch 4/10, Loss: 2.5514\n",
      "Epoch 4/10, Loss: 2.5720\n",
      "Epoch 4/10, Loss: 2.5762\n",
      "Epoch 4/10, Loss: 2.5150\n",
      "Epoch 4/10, Loss: 2.3712\n",
      "Epoch 4/10, Loss: 2.5687\n",
      "Epoch 4/10, Loss: 2.6236\n",
      "Epoch 4/10, Loss: 2.6817\n",
      "Epoch 4/10, Loss: 2.4740\n",
      "Epoch 4/10, Loss: 2.5079\n",
      "Epoch 4/10, Loss: 2.4703\n",
      "Epoch 4/10, Loss: 2.6223\n",
      "Epoch 4/10, Loss: 2.4863\n",
      "Epoch 4/10, Loss: 2.5720\n",
      "Epoch 4/10, Loss: 2.4962\n",
      "Epoch 4/10, Loss: 2.6401\n",
      "Epoch 4/10, Loss: 2.4611\n",
      "Epoch 4/10, Loss: 2.5705\n",
      "Epoch 4/10, Loss: 2.6471\n",
      "Epoch 4/10, Loss: 2.5670\n",
      "Epoch 4/10, Loss: 2.6613\n",
      "Epoch 4/10, Loss: 2.5402\n",
      "Epoch 4/10, Loss: 2.5609\n",
      "Epoch 4/10, Loss: 2.5356\n",
      "Epoch 4/10, Loss: 2.5419\n",
      "Epoch 4/10, Loss: 2.5530\n",
      "Epoch 4/10, Loss: 2.5692\n",
      "Epoch 4/10, Loss: 2.6997\n",
      "Epoch 4/10, Loss: 2.5122\n",
      "Epoch 4/10, Loss: 2.5683\n",
      "Epoch 4/10, Loss: 2.5306\n",
      "Epoch 4/10, Loss: 2.5400\n",
      "Epoch 4/10, Loss: 2.5405\n",
      "Epoch 4/10, Loss: 2.7225\n",
      "Epoch 4/10, Loss: 2.5632\n",
      "Epoch 4/10, Loss: 2.5474\n",
      "Epoch 4/10, Loss: 2.5998\n",
      "Epoch 4/10, Loss: 2.4942\n",
      "Epoch 4/10, Loss: 2.4930\n",
      "Epoch 4/10, Loss: 2.5663\n",
      "Epoch 4/10, Loss: 2.5797\n",
      "Epoch 4/10, Loss: 2.5589\n",
      "Epoch 4/10, Loss: 2.4884\n",
      "Epoch 4/10, Loss: 2.5380\n",
      "Epoch 4/10, Loss: 2.5545\n",
      "Epoch 4/10, Loss: 2.6295\n",
      "Epoch 4/10, Loss: 2.6574\n",
      "Epoch 4/10, Loss: 2.5275\n",
      "Epoch 4/10, Loss: 2.6040\n",
      "Epoch 4/10, Loss: 2.6081\n",
      "Epoch 4/10, Loss: 2.5230\n",
      "Epoch 4/10, Loss: 2.4683\n",
      "Epoch 4/10, Loss: 2.6515\n",
      "Epoch 4/10, Loss: 2.5176\n",
      "Epoch 4/10, Loss: 2.4425\n",
      "Epoch 4/10, Loss: 2.5435\n",
      "Epoch 4/10, Loss: 2.3967\n",
      "Epoch 4/10, Loss: 2.4716\n",
      "Epoch 4/10, Loss: 2.6039\n",
      "Epoch 4/10, Loss: 2.5510\n",
      "Epoch 4/10, Loss: 2.5517\n",
      "Epoch 5/10, Loss: 2.4583\n",
      "Epoch 5/10, Loss: 2.5172\n",
      "Epoch 5/10, Loss: 2.5392\n",
      "Epoch 5/10, Loss: 2.6358\n",
      "Epoch 5/10, Loss: 2.5406\n",
      "Epoch 5/10, Loss: 2.4847\n",
      "Epoch 5/10, Loss: 2.4623\n",
      "Epoch 5/10, Loss: 2.5078\n",
      "Epoch 5/10, Loss: 2.5984\n",
      "Epoch 5/10, Loss: 2.6161\n",
      "Epoch 5/10, Loss: 2.6233\n",
      "Epoch 5/10, Loss: 2.6159\n",
      "Epoch 5/10, Loss: 2.5021\n",
      "Epoch 5/10, Loss: 2.5395\n",
      "Epoch 5/10, Loss: 2.5462\n",
      "Epoch 5/10, Loss: 2.5972\n",
      "Epoch 5/10, Loss: 2.4913\n",
      "Epoch 5/10, Loss: 2.6598\n",
      "Epoch 5/10, Loss: 2.5116\n",
      "Epoch 5/10, Loss: 2.5333\n",
      "Epoch 5/10, Loss: 2.5086\n",
      "Epoch 5/10, Loss: 2.5478\n",
      "Epoch 5/10, Loss: 2.5069\n",
      "Epoch 5/10, Loss: 2.4893\n",
      "Epoch 5/10, Loss: 2.4356\n",
      "Epoch 5/10, Loss: 2.6460\n",
      "Epoch 5/10, Loss: 2.5658\n",
      "Epoch 5/10, Loss: 2.7212\n",
      "Epoch 5/10, Loss: 2.6988\n",
      "Epoch 5/10, Loss: 2.6791\n",
      "Epoch 5/10, Loss: 2.5529\n",
      "Epoch 5/10, Loss: 2.4829\n",
      "Epoch 5/10, Loss: 2.6514\n",
      "Epoch 5/10, Loss: 2.6479\n",
      "Epoch 5/10, Loss: 2.5578\n",
      "Epoch 5/10, Loss: 2.6055\n",
      "Epoch 5/10, Loss: 2.5880\n",
      "Epoch 5/10, Loss: 2.6488\n",
      "Epoch 5/10, Loss: 2.5024\n",
      "Epoch 5/10, Loss: 2.5337\n",
      "Epoch 5/10, Loss: 2.4722\n",
      "Epoch 5/10, Loss: 2.4675\n",
      "Epoch 5/10, Loss: 2.3669\n",
      "Epoch 5/10, Loss: 2.5712\n",
      "Epoch 5/10, Loss: 2.3895\n",
      "Epoch 5/10, Loss: 2.5768\n",
      "Epoch 5/10, Loss: 2.4664\n",
      "Epoch 5/10, Loss: 2.5032\n",
      "Epoch 5/10, Loss: 2.5605\n",
      "Epoch 5/10, Loss: 2.5536\n",
      "Epoch 5/10, Loss: 2.5543\n",
      "Epoch 5/10, Loss: 2.5125\n",
      "Epoch 5/10, Loss: 2.5479\n",
      "Epoch 5/10, Loss: 2.4986\n",
      "Epoch 5/10, Loss: 2.5714\n",
      "Epoch 5/10, Loss: 2.5423\n",
      "Epoch 5/10, Loss: 2.5495\n",
      "Epoch 5/10, Loss: 2.5981\n",
      "Epoch 5/10, Loss: 2.5368\n",
      "Epoch 5/10, Loss: 2.5486\n",
      "Epoch 5/10, Loss: 2.5322\n",
      "Epoch 5/10, Loss: 2.5659\n",
      "Epoch 6/10, Loss: 2.4679\n",
      "Epoch 6/10, Loss: 2.6159\n",
      "Epoch 6/10, Loss: 2.5496\n",
      "Epoch 6/10, Loss: 2.3818\n",
      "Epoch 6/10, Loss: 2.5301\n",
      "Epoch 6/10, Loss: 2.5365\n",
      "Epoch 6/10, Loss: 2.5327\n",
      "Epoch 6/10, Loss: 2.5918\n",
      "Epoch 6/10, Loss: 2.5476\n",
      "Epoch 6/10, Loss: 2.6458\n",
      "Epoch 6/10, Loss: 2.5125\n",
      "Epoch 6/10, Loss: 2.4308\n",
      "Epoch 6/10, Loss: 2.5310\n",
      "Epoch 6/10, Loss: 2.4573\n",
      "Epoch 6/10, Loss: 2.5900\n",
      "Epoch 6/10, Loss: 2.4894\n",
      "Epoch 6/10, Loss: 2.6451\n",
      "Epoch 6/10, Loss: 2.5687\n",
      "Epoch 6/10, Loss: 2.7178\n",
      "Epoch 6/10, Loss: 2.5036\n",
      "Epoch 6/10, Loss: 2.5453\n",
      "Epoch 6/10, Loss: 2.5491\n",
      "Epoch 6/10, Loss: 2.5918\n",
      "Epoch 6/10, Loss: 2.4926\n",
      "Epoch 6/10, Loss: 2.6068\n",
      "Epoch 6/10, Loss: 2.6601\n",
      "Epoch 6/10, Loss: 2.5822\n",
      "Epoch 6/10, Loss: 2.5609\n",
      "Epoch 6/10, Loss: 2.5458\n",
      "Epoch 6/10, Loss: 2.5575\n",
      "Epoch 6/10, Loss: 2.5252\n",
      "Epoch 6/10, Loss: 2.5197\n",
      "Epoch 6/10, Loss: 2.6754\n",
      "Epoch 6/10, Loss: 2.5616\n",
      "Epoch 6/10, Loss: 2.5259\n",
      "Epoch 6/10, Loss: 2.6128\n",
      "Epoch 6/10, Loss: 2.5466\n",
      "Epoch 6/10, Loss: 2.6101\n",
      "Epoch 6/10, Loss: 2.5941\n",
      "Epoch 6/10, Loss: 2.5503\n",
      "Epoch 6/10, Loss: 2.5140\n",
      "Epoch 6/10, Loss: 2.4603\n",
      "Epoch 6/10, Loss: 2.4868\n",
      "Epoch 6/10, Loss: 2.6959\n",
      "Epoch 6/10, Loss: 2.4956\n",
      "Epoch 6/10, Loss: 2.4824\n",
      "Epoch 6/10, Loss: 2.6457\n",
      "Epoch 6/10, Loss: 2.4775\n",
      "Epoch 6/10, Loss: 2.4811\n",
      "Epoch 6/10, Loss: 2.6329\n",
      "Epoch 6/10, Loss: 2.4728\n",
      "Epoch 6/10, Loss: 2.6474\n",
      "Epoch 6/10, Loss: 2.5681\n",
      "Epoch 6/10, Loss: 2.5034\n",
      "Epoch 6/10, Loss: 2.4706\n",
      "Epoch 6/10, Loss: 2.4846\n",
      "Epoch 6/10, Loss: 2.4850\n",
      "Epoch 6/10, Loss: 2.5339\n",
      "Epoch 6/10, Loss: 2.5096\n",
      "Epoch 6/10, Loss: 2.5133\n",
      "Epoch 6/10, Loss: 2.4590\n",
      "Epoch 6/10, Loss: 2.3609\n",
      "Epoch 7/10, Loss: 2.5357\n",
      "Epoch 7/10, Loss: 2.5421\n",
      "Epoch 7/10, Loss: 2.6028\n",
      "Epoch 7/10, Loss: 2.5420\n",
      "Epoch 7/10, Loss: 2.5254\n",
      "Epoch 7/10, Loss: 2.4792\n",
      "Epoch 7/10, Loss: 2.5320\n",
      "Epoch 7/10, Loss: 2.4778\n",
      "Epoch 7/10, Loss: 2.5127\n",
      "Epoch 7/10, Loss: 2.5419\n",
      "Epoch 7/10, Loss: 2.4963\n",
      "Epoch 7/10, Loss: 2.3535\n",
      "Epoch 7/10, Loss: 2.5061\n",
      "Epoch 7/10, Loss: 2.6903\n",
      "Epoch 7/10, Loss: 2.4995\n",
      "Epoch 7/10, Loss: 2.5545\n",
      "Epoch 7/10, Loss: 2.5458\n",
      "Epoch 7/10, Loss: 2.7150\n",
      "Epoch 7/10, Loss: 2.5834\n",
      "Epoch 7/10, Loss: 2.6465\n",
      "Epoch 7/10, Loss: 2.6584\n",
      "Epoch 7/10, Loss: 2.4992\n",
      "Epoch 7/10, Loss: 2.5530\n",
      "Epoch 7/10, Loss: 2.6722\n",
      "Epoch 7/10, Loss: 2.3742\n",
      "Epoch 7/10, Loss: 2.4696\n",
      "Epoch 7/10, Loss: 2.4544\n",
      "Epoch 7/10, Loss: 2.4936\n",
      "Epoch 7/10, Loss: 2.5922\n",
      "Epoch 7/10, Loss: 2.4647\n",
      "Epoch 7/10, Loss: 2.4843\n",
      "Epoch 7/10, Loss: 2.5572\n",
      "Epoch 7/10, Loss: 2.6060\n",
      "Epoch 7/10, Loss: 2.4278\n",
      "Epoch 7/10, Loss: 2.5364\n",
      "Epoch 7/10, Loss: 2.6046\n",
      "Epoch 7/10, Loss: 2.5285\n",
      "Epoch 7/10, Loss: 2.4594\n",
      "Epoch 7/10, Loss: 2.5902\n",
      "Epoch 7/10, Loss: 2.5495\n",
      "Epoch 7/10, Loss: 2.4546\n",
      "Epoch 7/10, Loss: 2.4877\n",
      "Epoch 7/10, Loss: 2.4743\n",
      "Epoch 7/10, Loss: 2.5181\n",
      "Epoch 7/10, Loss: 2.5195\n",
      "Epoch 7/10, Loss: 2.6074\n",
      "Epoch 7/10, Loss: 2.6317\n",
      "Epoch 7/10, Loss: 2.4884\n",
      "Epoch 7/10, Loss: 2.4804\n",
      "Epoch 7/10, Loss: 2.6011\n",
      "Epoch 7/10, Loss: 2.5498\n",
      "Epoch 7/10, Loss: 2.4700\n",
      "Epoch 7/10, Loss: 2.5631\n",
      "Epoch 7/10, Loss: 2.5707\n",
      "Epoch 7/10, Loss: 2.4564\n",
      "Epoch 7/10, Loss: 2.6437\n",
      "Epoch 7/10, Loss: 2.6390\n",
      "Epoch 7/10, Loss: 2.4516\n",
      "Epoch 7/10, Loss: 2.5945\n",
      "Epoch 7/10, Loss: 2.4860\n",
      "Epoch 7/10, Loss: 2.6440\n",
      "Epoch 7/10, Loss: 2.4519\n",
      "Epoch 8/10, Loss: 2.4460\n",
      "Epoch 8/10, Loss: 2.5858\n",
      "Epoch 8/10, Loss: 2.6045\n",
      "Epoch 8/10, Loss: 2.6380\n",
      "Epoch 8/10, Loss: 2.5479\n",
      "Epoch 8/10, Loss: 2.5599\n",
      "Epoch 8/10, Loss: 2.6546\n",
      "Epoch 8/10, Loss: 2.4480\n",
      "Epoch 8/10, Loss: 2.6015\n",
      "Epoch 8/10, Loss: 2.4197\n",
      "Epoch 8/10, Loss: 2.5170\n",
      "Epoch 8/10, Loss: 2.4750\n",
      "Epoch 8/10, Loss: 2.3661\n",
      "Epoch 8/10, Loss: 2.5919\n",
      "Epoch 8/10, Loss: 2.5398\n",
      "Epoch 8/10, Loss: 2.5432\n",
      "Epoch 8/10, Loss: 2.5128\n",
      "Epoch 8/10, Loss: 2.5316\n",
      "Epoch 8/10, Loss: 2.5970\n",
      "Epoch 8/10, Loss: 2.5265\n",
      "Epoch 8/10, Loss: 2.4837\n",
      "Epoch 8/10, Loss: 2.5668\n",
      "Epoch 8/10, Loss: 2.5478\n",
      "Epoch 8/10, Loss: 2.4780\n",
      "Epoch 8/10, Loss: 2.5527\n",
      "Epoch 8/10, Loss: 2.4732\n",
      "Epoch 8/10, Loss: 2.5387\n",
      "Epoch 8/10, Loss: 2.5198\n",
      "Epoch 8/10, Loss: 2.5778\n",
      "Epoch 8/10, Loss: 2.5335\n",
      "Epoch 8/10, Loss: 2.4409\n",
      "Epoch 8/10, Loss: 2.5994\n",
      "Epoch 8/10, Loss: 2.4899\n",
      "Epoch 8/10, Loss: 2.4706\n",
      "Epoch 8/10, Loss: 2.4554\n",
      "Epoch 8/10, Loss: 2.7146\n",
      "Epoch 8/10, Loss: 2.4720\n",
      "Epoch 8/10, Loss: 2.4820\n",
      "Epoch 8/10, Loss: 2.5395\n",
      "Epoch 8/10, Loss: 2.4668\n",
      "Epoch 8/10, Loss: 2.4788\n",
      "Epoch 8/10, Loss: 2.6903\n",
      "Epoch 8/10, Loss: 2.3511\n",
      "Epoch 8/10, Loss: 2.6415\n",
      "Epoch 8/10, Loss: 2.4368\n",
      "Epoch 8/10, Loss: 2.4968\n",
      "Epoch 8/10, Loss: 2.6720\n",
      "Epoch 8/10, Loss: 2.4457\n",
      "Epoch 8/10, Loss: 2.5179\n",
      "Epoch 8/10, Loss: 2.4680\n",
      "Epoch 8/10, Loss: 2.4313\n",
      "Epoch 8/10, Loss: 2.5221\n",
      "Epoch 8/10, Loss: 2.4262\n",
      "Epoch 8/10, Loss: 2.6282\n",
      "Epoch 8/10, Loss: 2.6340\n",
      "Epoch 8/10, Loss: 2.5500\n",
      "Epoch 8/10, Loss: 2.4617\n",
      "Epoch 8/10, Loss: 2.4829\n",
      "Epoch 8/10, Loss: 2.5538\n",
      "Epoch 8/10, Loss: 2.5939\n",
      "Epoch 8/10, Loss: 2.5993\n",
      "Epoch 8/10, Loss: 2.6441\n",
      "Epoch 9/10, Loss: 2.5102\n",
      "Epoch 9/10, Loss: 2.5939\n",
      "Epoch 9/10, Loss: 2.4574\n",
      "Epoch 9/10, Loss: 2.5180\n",
      "Epoch 9/10, Loss: 2.5211\n",
      "Epoch 9/10, Loss: 2.4915\n",
      "Epoch 9/10, Loss: 2.4657\n",
      "Epoch 9/10, Loss: 2.6073\n",
      "Epoch 9/10, Loss: 2.5325\n",
      "Epoch 9/10, Loss: 2.4675\n",
      "Epoch 9/10, Loss: 2.4416\n",
      "Epoch 9/10, Loss: 2.4761\n",
      "Epoch 9/10, Loss: 2.4532\n",
      "Epoch 9/10, Loss: 2.6371\n",
      "Epoch 9/10, Loss: 2.6268\n",
      "Epoch 9/10, Loss: 2.4202\n",
      "Epoch 9/10, Loss: 2.3437\n",
      "Epoch 9/10, Loss: 2.5042\n",
      "Epoch 9/10, Loss: 2.3582\n",
      "Epoch 9/10, Loss: 2.5373\n",
      "Epoch 9/10, Loss: 2.5456\n",
      "Epoch 9/10, Loss: 2.5553\n",
      "Epoch 9/10, Loss: 2.6396\n",
      "Epoch 9/10, Loss: 2.5321\n",
      "Epoch 9/10, Loss: 2.4150\n",
      "Epoch 9/10, Loss: 2.4129\n",
      "Epoch 9/10, Loss: 2.4479\n",
      "Epoch 9/10, Loss: 2.4780\n",
      "Epoch 9/10, Loss: 2.6038\n",
      "Epoch 9/10, Loss: 2.5165\n",
      "Epoch 9/10, Loss: 2.6707\n",
      "Epoch 9/10, Loss: 2.5893\n",
      "Epoch 9/10, Loss: 2.7125\n",
      "Epoch 9/10, Loss: 2.5952\n",
      "Epoch 9/10, Loss: 2.5486\n",
      "Epoch 9/10, Loss: 2.4093\n",
      "Epoch 9/10, Loss: 2.6533\n",
      "Epoch 9/10, Loss: 2.4723\n",
      "Epoch 9/10, Loss: 2.4436\n",
      "Epoch 9/10, Loss: 2.5463\n",
      "Epoch 9/10, Loss: 2.4763\n",
      "Epoch 9/10, Loss: 2.5331\n",
      "Epoch 9/10, Loss: 2.5903\n",
      "Epoch 9/10, Loss: 2.6395\n",
      "Epoch 9/10, Loss: 2.5547\n",
      "Epoch 9/10, Loss: 2.5682\n",
      "Epoch 9/10, Loss: 2.5654\n",
      "Epoch 9/10, Loss: 2.4520\n",
      "Epoch 9/10, Loss: 2.4057\n",
      "Epoch 9/10, Loss: 2.4389\n",
      "Epoch 9/10, Loss: 2.5452\n",
      "Epoch 9/10, Loss: 2.3994\n",
      "Epoch 9/10, Loss: 2.6125\n",
      "Epoch 9/10, Loss: 2.4371\n",
      "Epoch 9/10, Loss: 2.4684\n",
      "Epoch 9/10, Loss: 2.6907\n",
      "Epoch 9/10, Loss: 2.5832\n",
      "Epoch 9/10, Loss: 2.5371\n",
      "Epoch 9/10, Loss: 2.5458\n",
      "Epoch 9/10, Loss: 2.6233\n",
      "Epoch 9/10, Loss: 2.5196\n",
      "Epoch 9/10, Loss: 2.4845\n",
      "Epoch 10/10, Loss: 2.5133\n",
      "Epoch 10/10, Loss: 2.5421\n",
      "Epoch 10/10, Loss: 2.3950\n",
      "Epoch 10/10, Loss: 2.4477\n",
      "Epoch 10/10, Loss: 2.4340\n",
      "Epoch 10/10, Loss: 2.4735\n",
      "Epoch 10/10, Loss: 2.5350\n",
      "Epoch 10/10, Loss: 2.6077\n",
      "Epoch 10/10, Loss: 2.4303\n",
      "Epoch 10/10, Loss: 2.4337\n",
      "Epoch 10/10, Loss: 2.5466\n",
      "Epoch 10/10, Loss: 2.4242\n",
      "Epoch 10/10, Loss: 2.4792\n",
      "Epoch 10/10, Loss: 2.5107\n",
      "Epoch 10/10, Loss: 2.4669\n",
      "Epoch 10/10, Loss: 2.5440\n",
      "Epoch 10/10, Loss: 2.5109\n",
      "Epoch 10/10, Loss: 2.6150\n",
      "Epoch 10/10, Loss: 2.4077\n",
      "Epoch 10/10, Loss: 2.5322\n",
      "Epoch 10/10, Loss: 2.7087\n",
      "Epoch 10/10, Loss: 2.4613\n",
      "Epoch 10/10, Loss: 2.4207\n",
      "Epoch 10/10, Loss: 2.5779\n",
      "Epoch 10/10, Loss: 2.6531\n",
      "Epoch 10/10, Loss: 2.5636\n",
      "Epoch 10/10, Loss: 2.6367\n",
      "Epoch 10/10, Loss: 2.5067\n",
      "Epoch 10/10, Loss: 2.3495\n",
      "Epoch 10/10, Loss: 2.6885\n",
      "Epoch 10/10, Loss: 2.6135\n",
      "Epoch 10/10, Loss: 2.4950\n",
      "Epoch 10/10, Loss: 2.6206\n",
      "Epoch 10/10, Loss: 2.6669\n",
      "Epoch 10/10, Loss: 2.5899\n",
      "Epoch 10/10, Loss: 2.3897\n",
      "Epoch 10/10, Loss: 2.5018\n",
      "Epoch 10/10, Loss: 2.5416\n",
      "Epoch 10/10, Loss: 2.4697\n",
      "Epoch 10/10, Loss: 2.3375\n",
      "Epoch 10/10, Loss: 2.5395\n",
      "Epoch 10/10, Loss: 2.6403\n",
      "Epoch 10/10, Loss: 2.4680\n",
      "Epoch 10/10, Loss: 2.3836\n",
      "Epoch 10/10, Loss: 2.4356\n",
      "Epoch 10/10, Loss: 2.6209\n",
      "Epoch 10/10, Loss: 2.4891\n",
      "Epoch 10/10, Loss: 2.4157\n",
      "Epoch 10/10, Loss: 2.5329\n",
      "Epoch 10/10, Loss: 2.3779\n",
      "Epoch 10/10, Loss: 2.5320\n",
      "Epoch 10/10, Loss: 2.3723\n",
      "Epoch 10/10, Loss: 2.5848\n",
      "Epoch 10/10, Loss: 2.5382\n",
      "Epoch 10/10, Loss: 2.5560\n",
      "Epoch 10/10, Loss: 2.5638\n",
      "Epoch 10/10, Loss: 2.5841\n",
      "Epoch 10/10, Loss: 2.5907\n",
      "Epoch 10/10, Loss: 2.4779\n",
      "Epoch 10/10, Loss: 2.4609\n",
      "Epoch 10/10, Loss: 2.6379\n",
      "Epoch 10/10, Loss: 2.5513\n"
     ]
    }
   ],
   "execution_count": 68
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T08:06:04.461664Z",
     "start_time": "2025-07-02T08:06:04.459222Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 获取词向量\n",
    "# input_embed的权重矩阵形状为(embedding_dim，vocab_size)，比如100*13，13表示13个词，词表的大小，所以某一列就是该词的向量\n",
    "word_vectors = model.input_embed.weight.T\n",
    "print(word_vectors.shape)"
   ],
   "id": "25f189fbe41d4160",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([13, 10])\n"
     ]
    }
   ],
   "execution_count": 59
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T08:06:06.535092Z",
     "start_time": "2025-07-02T08:06:06.530375Z"
    }
   },
   "cell_type": "code",
   "source": [
    "for word, idx in vocabulary.items():\n",
    "    print(f\"{word}: {word_vectors[idx]}\")"
   ],
   "id": "5cb2c88cf529fb1",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I: tensor([ 0.3218,  0.1545, -0.0907, -0.1246,  0.1203, -0.2296,  0.2299, -0.1082,\n",
      "         0.0174,  0.1791], grad_fn=<SelectBackward0>)\n",
      "love: tensor([ 0.2430,  0.0880,  0.2220,  0.0109, -0.3393,  0.2886, -0.1101, -0.1124,\n",
      "        -0.2417, -0.3283], grad_fn=<SelectBackward0>)\n",
      "natural: tensor([ 0.1837, -0.1624,  0.2591,  0.0044, -0.1978,  0.0886, -0.0188,  0.2499,\n",
      "        -0.1330,  0.0107], grad_fn=<SelectBackward0>)\n",
      "language: tensor([ 0.1621, -0.0725, -0.2534, -0.1762, -0.1680, -0.1782, -0.0267,  0.1923,\n",
      "        -0.0224,  0.1632], grad_fn=<SelectBackward0>)\n",
      "processing.: tensor([-0.2382, -0.1355,  0.1356, -0.1641, -0.1377, -0.0070,  0.1222,  0.1773,\n",
      "        -0.2538, -0.2426], grad_fn=<SelectBackward0>)\n",
      "machine: tensor([ 0.1922, -0.1707,  0.1928,  0.0200, -0.1537,  0.2099, -0.0655, -0.0155,\n",
      "         0.0618, -0.0274], grad_fn=<SelectBackward0>)\n",
      "learning.: tensor([ 0.1635, -0.2111, -0.1185,  0.1374,  0.2377, -0.2536,  0.1153, -0.1625,\n",
      "         0.0216,  0.1828], grad_fn=<SelectBackward0>)\n",
      "coding: tensor([ 0.2827,  0.2321,  0.1198,  0.0169, -0.3178,  0.0232, -0.1166,  0.1928,\n",
      "        -0.1159,  0.0610], grad_fn=<SelectBackward0>)\n",
      "in: tensor([ 0.2521,  0.2306, -0.2162, -0.1707,  0.1203, -0.1165, -0.0119,  0.1528,\n",
      "        -0.0807, -0.0633], grad_fn=<SelectBackward0>)\n",
      "Python: tensor([-0.0630,  0.2301,  0.1913, -0.1575,  0.1426, -0.0187, -0.2172,  0.3100,\n",
      "        -0.0244,  0.0488], grad_fn=<SelectBackward0>)\n",
      "and: tensor([ 0.1425,  0.1538, -0.1909,  0.0465, -0.1999,  0.1008,  0.2886,  0.1118,\n",
      "         0.2012,  0.1620], grad_fn=<SelectBackward0>)\n",
      "Java.: tensor([-0.1860,  0.2746, -0.1024,  0.0957, -0.0056,  0.0860,  0.2734,  0.0683,\n",
      "         0.0364,  0.0647], grad_fn=<SelectBackward0>)\n",
      "don't: tensor([-0.0874,  0.0266, -0.2317, -0.0573,  0.1499, -0.2509, -0.0897,  0.1686,\n",
      "         0.0567, -0.2223], grad_fn=<SelectBackward0>)\n"
     ]
    }
   ],
   "execution_count": 60
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T08:06:30.697634Z",
     "start_time": "2025-07-02T08:06:30.694283Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 获取某个词的向量\n",
    "word_vectors[vocabulary['Python']]"
   ],
   "id": "12d02c1f9e3be63c",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([-0.0630,  0.2301,  0.1913, -0.1575,  0.1426, -0.0187, -0.2172,  0.3100,\n",
       "        -0.0244,  0.0488], grad_fn=<SelectBackward0>)"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 61
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T08:08:40.077722Z",
     "start_time": "2025-07-02T08:08:40.069476Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import numpy as np\n",
    "\n",
    "def encode_sentence(sentence):\n",
    "    vectors = [word_vectors[vocabulary[word]].detach().numpy() for word in sentence.split()]\n",
    "    print(vectors)\n",
    "    return np.mean(vectors, axis=0)  # 平均池化\n",
    "\n",
    "encode_sentence('I love')\n"
   ],
   "id": "b7b21348d7e8912b",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[array([ 0.32175842,  0.1545292 , -0.0906691 , -0.12461545,  0.12034598,\n",
      "       -0.22959763,  0.22987527, -0.10824266,  0.01741922,  0.17912774],\n",
      "      dtype=float32), array([ 0.24295047,  0.08804566,  0.2220389 ,  0.01088865, -0.3392625 ,\n",
      "        0.2886405 , -0.11014775, -0.11238218, -0.24171409, -0.3283077 ],\n",
      "      dtype=float32)]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([ 0.28235444,  0.12128744,  0.0656849 , -0.0568634 , -0.10945825,\n",
       "        0.02952144,  0.05986376, -0.11031242, -0.11214744, -0.07458998],\n",
       "      dtype=float32)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 62
  },
  {
   "cell_type": "code",
   "id": "47fe79596909f9c8",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T08:13:01.641785Z",
     "start_time": "2025-07-02T08:13:01.637545Z"
    }
   },
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "\n",
    "# 使用Embedding层\n",
    "embedding = nn.Embedding(13, 10)  # 形状是13*10，13表示词的数量，10表示词向量的维度\n",
    "output_embed = embedding(torch.tensor(2)) # 直接输入词的索引，利用查找表获取词的向量\n",
    "print(output_embed)\n",
    "\n",
    "# 打印embedding层的参数值\n",
    "print(embedding.weight)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([-1.0713, -1.0313,  0.5000, -0.7191, -0.3373, -0.1712, -0.9895, -0.4260,\n",
      "        -0.4475,  0.4031], grad_fn=<EmbeddingBackward0>)\n",
      "Parameter containing:\n",
      "tensor([[-0.3864, -0.3228, -0.3692, -1.2301, -1.9629,  0.6103, -1.1924, -0.2367,\n",
      "          0.0898,  1.5050],\n",
      "        [ 1.2609,  0.6442,  1.4310,  1.0073,  1.4371, -1.0400,  2.5900, -0.3349,\n",
      "          0.8031,  0.4660],\n",
      "        [-1.0713, -1.0313,  0.5000, -0.7191, -0.3373, -0.1712, -0.9895, -0.4260,\n",
      "         -0.4475,  0.4031],\n",
      "        [-0.3966, -0.9141,  3.0141, -0.7251,  0.1549,  0.5720,  0.7184, -0.5156,\n",
      "          1.2174, -0.7913],\n",
      "        [ 0.2862, -0.5433, -0.2753,  1.3036,  0.8288,  1.4590, -0.1028,  1.2188,\n",
      "         -0.3152,  0.2742],\n",
      "        [-1.1940, -1.1333,  0.1844, -0.0668,  0.3242,  1.1618, -0.5508, -0.0779,\n",
      "          0.1241, -2.5316],\n",
      "        [-0.2622,  1.8680, -0.2980, -1.0998, -0.0357, -0.1870, -0.2386, -0.0216,\n",
      "          1.1074,  1.2128],\n",
      "        [ 0.5118, -1.0450, -1.5705, -2.9756,  0.0277,  2.1754,  0.4007, -0.2478,\n",
      "         -1.1576,  1.4101],\n",
      "        [ 0.1469,  2.2284, -1.4061,  0.5307,  1.0168,  0.3197, -0.6883, -0.4878,\n",
      "         -0.4391,  0.4167],\n",
      "        [ 0.8928,  0.7945,  1.9765,  0.5093, -0.8774, -0.5338, -0.8494,  1.4396,\n",
      "          2.0362, -0.6648],\n",
      "        [-1.0579,  0.4713,  0.3910, -1.1917,  1.1497, -0.4734,  0.8849, -0.0426,\n",
      "         -1.0717, -0.2240],\n",
      "        [-0.1127, -0.6535, -1.6889,  0.3810,  0.3663, -0.5219,  0.2627,  1.2062,\n",
      "         -1.5944, -0.4493],\n",
      "        [-1.5363, -0.2248,  0.6618,  0.1465, -0.9217,  0.4284,  0.3996,  0.0267,\n",
      "         -1.5616, -0.7960]], requires_grad=True)\n"
     ]
    }
   ],
   "execution_count": 64
  },
  {
   "cell_type": "code",
   "id": "fdb4aac6d253cf6d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-02T08:14:02.902769Z",
     "start_time": "2025-07-02T08:14:02.896402Z"
    }
   },
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "\n",
    "# 使用Linear层（等效于Embedding + one-hot）\n",
    "linear = nn.Linear(5, 10, bias=False)  # 形状是5*10\n",
    "input_one_hot = torch.FloatTensor([0, 0, 1, 0, 0])  # 需要将词的索引转成one-hot向量，然后利用矩阵相乘得到结果\n",
    "output_linear = linear(input_one_hot)  # 输出形状(1*3)\n",
    "print(output_linear)\n",
    "print(linear.weight.T)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([ 0.1121, -0.0617,  0.1890,  0.0653, -0.0793, -0.2210,  0.3748,  0.2173,\n",
      "        -0.2938, -0.2298], grad_fn=<SqueezeBackward4>)\n",
      "tensor([[-0.2179, -0.1116, -0.3177,  0.1271, -0.3410, -0.3187,  0.3165,  0.4262,\n",
      "         -0.2732,  0.1637],\n",
      "        [-0.2948, -0.1186, -0.0515,  0.4112,  0.2941, -0.3868, -0.3594, -0.3256,\n",
      "         -0.0853, -0.1942],\n",
      "        [ 0.1121, -0.0617,  0.1890,  0.0653, -0.0793, -0.2210,  0.3748,  0.2173,\n",
      "         -0.2938, -0.2298],\n",
      "        [ 0.4214, -0.1592,  0.0412,  0.4196,  0.0868,  0.2042, -0.4394,  0.3085,\n",
      "          0.1666, -0.0445],\n",
      "        [ 0.0444, -0.3560,  0.2087,  0.1473,  0.4081, -0.3899, -0.2435,  0.0539,\n",
      "         -0.2650, -0.2953]], grad_fn=<PermuteBackward0>)\n"
     ]
    }
   ],
   "execution_count": 66
  },
  {
   "cell_type": "markdown",
   "id": "d224f829de4aaae2",
   "metadata": {},
   "source": [
    "这表明在输入为 `one-hot` 编码时，`Embedding` 和 `Linear` 的权重矩阵可以等价，但 `Embedding` 在实现上更为高效。"
   ]
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-03T07:51:59.229327Z",
     "start_time": "2025-07-03T07:51:58.490718Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from torch import nn\n",
    "from torch import optim\n",
    "\n",
    "class SkipGram(nn.Module):\n",
    "    def __init__(self, vocab_size, embedding_dim):\n",
    "        super().__init__()\n",
    "        self.input_embed = nn.Embedding(vocab_size, embedding_dim)\n",
    "        self.output_embed = nn.Linear(embedding_dim, vocab_size, bias=False)\n",
    "\n",
    "    def forward(self, center_word):\n",
    "        hidden = self.input_embed(center_word) # 输入的是词的索引\n",
    "        return self.output_embed(hidden)\n",
    "\n",
    "\n",
    "EMBEDDING_DIM = 10\n",
    "\n",
    "# 初始化模型、损失函数和优化器\n",
    "model = SkipGram(vocab_size, EMBEDDING_DIM)\n",
    "optimizer = optim.SGD(model.parameters(), lr=0.01)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "\n",
    "# 开始训练\n",
    "EPOCHS = 100\n",
    "\n",
    "for epoch in range(EPOCHS):\n",
    "    for center_batch, target_batch in dataloader:\n",
    "        predict = model(center_batch)\n",
    "        loss = criterion(predict, target_batch)\n",
    "\n",
    "        # 反向传播\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "\n",
    "        print(f\"Epoch {epoch + 1}/{EPOCHS}, Loss: {loss:.4f}\")"
   ],
   "id": "bd6b03bd6df864c",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100, Loss: 2.6705\n",
      "Epoch 1/100, Loss: 3.1070\n",
      "Epoch 1/100, Loss: 3.0838\n",
      "Epoch 1/100, Loss: 1.6969\n",
      "Epoch 1/100, Loss: 2.0449\n",
      "Epoch 1/100, Loss: 3.1932\n",
      "Epoch 1/100, Loss: 2.8937\n",
      "Epoch 1/100, Loss: 2.9692\n",
      "Epoch 1/100, Loss: 3.7580\n",
      "Epoch 1/100, Loss: 2.9172\n",
      "Epoch 1/100, Loss: 2.6544\n",
      "Epoch 1/100, Loss: 2.9512\n",
      "Epoch 1/100, Loss: 2.4495\n",
      "Epoch 1/100, Loss: 2.5437\n",
      "Epoch 1/100, Loss: 2.7365\n",
      "Epoch 1/100, Loss: 2.4961\n",
      "Epoch 1/100, Loss: 3.0074\n",
      "Epoch 1/100, Loss: 2.8304\n",
      "Epoch 1/100, Loss: 3.3568\n",
      "Epoch 1/100, Loss: 4.2150\n",
      "Epoch 1/100, Loss: 2.0591\n",
      "Epoch 1/100, Loss: 2.7861\n",
      "Epoch 1/100, Loss: 2.0141\n",
      "Epoch 1/100, Loss: 2.1129\n",
      "Epoch 1/100, Loss: 2.9948\n",
      "Epoch 1/100, Loss: 2.7078\n",
      "Epoch 1/100, Loss: 3.3800\n",
      "Epoch 1/100, Loss: 1.5555\n",
      "Epoch 1/100, Loss: 3.1994\n",
      "Epoch 1/100, Loss: 3.2701\n",
      "Epoch 1/100, Loss: 2.9350\n",
      "Epoch 1/100, Loss: 2.5743\n",
      "Epoch 1/100, Loss: 2.4712\n",
      "Epoch 1/100, Loss: 1.6703\n",
      "Epoch 1/100, Loss: 2.1078\n",
      "Epoch 1/100, Loss: 2.8587\n",
      "Epoch 1/100, Loss: 2.6031\n",
      "Epoch 1/100, Loss: 2.2771\n",
      "Epoch 1/100, Loss: 2.5754\n",
      "Epoch 1/100, Loss: 2.3718\n",
      "Epoch 1/100, Loss: 2.0587\n",
      "Epoch 1/100, Loss: 2.5363\n",
      "Epoch 1/100, Loss: 2.5050\n",
      "Epoch 1/100, Loss: 2.5518\n",
      "Epoch 1/100, Loss: 3.2735\n",
      "Epoch 1/100, Loss: 2.4236\n",
      "Epoch 1/100, Loss: 2.8601\n",
      "Epoch 1/100, Loss: 2.9037\n",
      "Epoch 1/100, Loss: 1.8084\n",
      "Epoch 1/100, Loss: 3.0088\n",
      "Epoch 1/100, Loss: 2.8816\n",
      "Epoch 1/100, Loss: 3.2099\n",
      "Epoch 1/100, Loss: 3.0419\n",
      "Epoch 1/100, Loss: 3.9615\n",
      "Epoch 1/100, Loss: 3.8511\n",
      "Epoch 1/100, Loss: 2.0517\n",
      "Epoch 1/100, Loss: 2.8198\n",
      "Epoch 1/100, Loss: 2.0882\n",
      "Epoch 1/100, Loss: 2.6647\n",
      "Epoch 1/100, Loss: 3.9661\n",
      "Epoch 1/100, Loss: 3.0104\n",
      "Epoch 1/100, Loss: 2.3992\n",
      "Epoch 2/100, Loss: 3.0350\n",
      "Epoch 2/100, Loss: 2.4148\n",
      "Epoch 2/100, Loss: 1.6379\n",
      "Epoch 2/100, Loss: 2.3864\n",
      "Epoch 2/100, Loss: 2.8094\n",
      "Epoch 2/100, Loss: 4.0044\n",
      "Epoch 2/100, Loss: 1.6912\n",
      "Epoch 2/100, Loss: 2.7026\n",
      "Epoch 2/100, Loss: 2.2799\n",
      "Epoch 2/100, Loss: 2.9603\n",
      "Epoch 2/100, Loss: 2.0900\n",
      "Epoch 2/100, Loss: 1.9772\n",
      "Epoch 2/100, Loss: 2.7569\n",
      "Epoch 2/100, Loss: 2.4062\n",
      "Epoch 2/100, Loss: 2.3111\n",
      "Epoch 2/100, Loss: 2.9405\n",
      "Epoch 2/100, Loss: 2.9079\n",
      "Epoch 2/100, Loss: 3.3175\n",
      "Epoch 2/100, Loss: 2.2774\n",
      "Epoch 2/100, Loss: 2.6962\n",
      "Epoch 2/100, Loss: 2.6060\n",
      "Epoch 2/100, Loss: 2.3970\n",
      "Epoch 2/100, Loss: 2.9771\n",
      "Epoch 2/100, Loss: 3.7688\n",
      "Epoch 2/100, Loss: 3.8140\n",
      "Epoch 2/100, Loss: 2.2811\n",
      "Epoch 2/100, Loss: 2.0411\n",
      "Epoch 2/100, Loss: 2.1632\n",
      "Epoch 2/100, Loss: 3.0053\n",
      "Epoch 2/100, Loss: 3.0905\n",
      "Epoch 2/100, Loss: 2.8822\n",
      "Epoch 2/100, Loss: 2.7529\n",
      "Epoch 2/100, Loss: 2.6165\n",
      "Epoch 2/100, Loss: 3.0094\n",
      "Epoch 2/100, Loss: 2.7599\n",
      "Epoch 2/100, Loss: 2.0034\n",
      "Epoch 2/100, Loss: 2.6406\n",
      "Epoch 2/100, Loss: 2.4445\n",
      "Epoch 2/100, Loss: 2.8370\n",
      "Epoch 2/100, Loss: 1.9615\n",
      "Epoch 2/100, Loss: 2.9299\n",
      "Epoch 2/100, Loss: 3.2374\n",
      "Epoch 2/100, Loss: 1.9591\n",
      "Epoch 2/100, Loss: 1.9959\n",
      "Epoch 2/100, Loss: 3.0388\n",
      "Epoch 2/100, Loss: 2.5386\n",
      "Epoch 2/100, Loss: 2.3341\n",
      "Epoch 2/100, Loss: 2.2407\n",
      "Epoch 2/100, Loss: 1.8953\n",
      "Epoch 2/100, Loss: 3.1951\n",
      "Epoch 2/100, Loss: 2.9381\n",
      "Epoch 2/100, Loss: 2.1504\n",
      "Epoch 2/100, Loss: 2.1345\n",
      "Epoch 2/100, Loss: 3.7315\n",
      "Epoch 2/100, Loss: 3.4480\n",
      "Epoch 2/100, Loss: 2.9157\n",
      "Epoch 2/100, Loss: 1.7702\n",
      "Epoch 2/100, Loss: 2.8534\n",
      "Epoch 2/100, Loss: 2.6627\n",
      "Epoch 2/100, Loss: 2.0556\n",
      "Epoch 2/100, Loss: 2.8642\n",
      "Epoch 2/100, Loss: 1.9723\n",
      "Epoch 3/100, Loss: 3.3274\n",
      "Epoch 3/100, Loss: 1.9976\n",
      "Epoch 3/100, Loss: 2.8086\n",
      "Epoch 3/100, Loss: 2.4656\n",
      "Epoch 3/100, Loss: 3.4454\n",
      "Epoch 3/100, Loss: 1.9202\n",
      "Epoch 3/100, Loss: 2.5962\n",
      "Epoch 3/100, Loss: 2.3190\n",
      "Epoch 3/100, Loss: 1.9245\n",
      "Epoch 3/100, Loss: 2.8247\n",
      "Epoch 3/100, Loss: 3.0906\n",
      "Epoch 3/100, Loss: 2.8514\n",
      "Epoch 3/100, Loss: 2.6396\n",
      "Epoch 3/100, Loss: 2.8998\n",
      "Epoch 3/100, Loss: 3.6586\n",
      "Epoch 3/100, Loss: 2.8989\n",
      "Epoch 3/100, Loss: 2.0095\n",
      "Epoch 3/100, Loss: 2.5177\n",
      "Epoch 3/100, Loss: 1.6655\n",
      "Epoch 3/100, Loss: 2.0157\n",
      "Epoch 3/100, Loss: 1.9134\n",
      "Epoch 3/100, Loss: 3.0153\n",
      "Epoch 3/100, Loss: 2.4912\n",
      "Epoch 3/100, Loss: 2.6474\n",
      "Epoch 3/100, Loss: 2.0887\n",
      "Epoch 3/100, Loss: 2.6318\n",
      "Epoch 3/100, Loss: 3.1832\n",
      "Epoch 3/100, Loss: 1.6165\n",
      "Epoch 3/100, Loss: 1.9226\n",
      "Epoch 3/100, Loss: 2.4667\n",
      "Epoch 3/100, Loss: 1.9621\n",
      "Epoch 3/100, Loss: 3.6240\n",
      "Epoch 3/100, Loss: 2.6841\n",
      "Epoch 3/100, Loss: 1.9720\n",
      "Epoch 3/100, Loss: 2.8888\n",
      "Epoch 3/100, Loss: 2.0423\n",
      "Epoch 3/100, Loss: 1.9555\n",
      "Epoch 3/100, Loss: 2.3170\n",
      "Epoch 3/100, Loss: 2.4137\n",
      "Epoch 3/100, Loss: 2.0808\n",
      "Epoch 3/100, Loss: 2.8601\n",
      "Epoch 3/100, Loss: 1.9907\n",
      "Epoch 3/100, Loss: 1.8572\n",
      "Epoch 3/100, Loss: 3.0251\n",
      "Epoch 3/100, Loss: 3.1416\n",
      "Epoch 3/100, Loss: 1.9134\n",
      "Epoch 3/100, Loss: 2.2758\n",
      "Epoch 3/100, Loss: 3.7828\n",
      "Epoch 3/100, Loss: 2.8340\n",
      "Epoch 3/100, Loss: 2.8903\n",
      "Epoch 3/100, Loss: 1.9385\n",
      "Epoch 3/100, Loss: 1.8158\n",
      "Epoch 3/100, Loss: 3.0769\n",
      "Epoch 3/100, Loss: 2.8811\n",
      "Epoch 3/100, Loss: 2.4714\n",
      "Epoch 3/100, Loss: 3.0191\n",
      "Epoch 3/100, Loss: 2.8323\n",
      "Epoch 3/100, Loss: 1.7854\n",
      "Epoch 3/100, Loss: 2.9212\n",
      "Epoch 3/100, Loss: 1.8998\n",
      "Epoch 3/100, Loss: 2.8147\n",
      "Epoch 3/100, Loss: 2.7721\n",
      "Epoch 4/100, Loss: 2.9908\n",
      "Epoch 4/100, Loss: 2.4080\n",
      "Epoch 4/100, Loss: 1.7673\n",
      "Epoch 4/100, Loss: 1.9089\n",
      "Epoch 4/100, Loss: 1.5944\n",
      "Epoch 4/100, Loss: 2.2849\n",
      "Epoch 4/100, Loss: 1.6509\n",
      "Epoch 4/100, Loss: 2.0328\n",
      "Epoch 4/100, Loss: 1.7398\n",
      "Epoch 4/100, Loss: 2.5666\n",
      "Epoch 4/100, Loss: 3.5527\n",
      "Epoch 4/100, Loss: 2.4695\n",
      "Epoch 4/100, Loss: 1.6634\n",
      "Epoch 4/100, Loss: 3.6235\n",
      "Epoch 4/100, Loss: 1.8532\n",
      "Epoch 4/100, Loss: 3.3426\n",
      "Epoch 4/100, Loss: 2.7605\n",
      "Epoch 4/100, Loss: 2.5311\n",
      "Epoch 4/100, Loss: 3.0254\n",
      "Epoch 4/100, Loss: 2.2719\n",
      "Epoch 4/100, Loss: 2.6910\n",
      "Epoch 4/100, Loss: 2.7852\n",
      "Epoch 4/100, Loss: 2.6893\n",
      "Epoch 4/100, Loss: 1.8146\n",
      "Epoch 4/100, Loss: 1.7540\n",
      "Epoch 4/100, Loss: 2.3977\n",
      "Epoch 4/100, Loss: 1.9308\n",
      "Epoch 4/100, Loss: 3.0101\n",
      "Epoch 4/100, Loss: 1.6398\n",
      "Epoch 4/100, Loss: 3.2443\n",
      "Epoch 4/100, Loss: 1.9153\n",
      "Epoch 4/100, Loss: 2.0569\n",
      "Epoch 4/100, Loss: 1.6365\n",
      "Epoch 4/100, Loss: 2.9067\n",
      "Epoch 4/100, Loss: 3.4528\n",
      "Epoch 4/100, Loss: 2.8594\n",
      "Epoch 4/100, Loss: 2.5641\n",
      "Epoch 4/100, Loss: 2.2222\n",
      "Epoch 4/100, Loss: 2.8618\n",
      "Epoch 4/100, Loss: 2.8063\n",
      "Epoch 4/100, Loss: 2.8811\n",
      "Epoch 4/100, Loss: 2.8695\n",
      "Epoch 4/100, Loss: 3.0888\n",
      "Epoch 4/100, Loss: 2.7621\n",
      "Epoch 4/100, Loss: 1.6147\n",
      "Epoch 4/100, Loss: 2.8167\n",
      "Epoch 4/100, Loss: 1.8279\n",
      "Epoch 4/100, Loss: 1.8039\n",
      "Epoch 4/100, Loss: 2.1799\n",
      "Epoch 4/100, Loss: 2.6794\n",
      "Epoch 4/100, Loss: 2.6773\n",
      "Epoch 4/100, Loss: 2.7441\n",
      "Epoch 4/100, Loss: 1.7436\n",
      "Epoch 4/100, Loss: 3.0393\n",
      "Epoch 4/100, Loss: 2.0386\n",
      "Epoch 4/100, Loss: 1.6700\n",
      "Epoch 4/100, Loss: 2.4010\n",
      "Epoch 4/100, Loss: 2.6384\n",
      "Epoch 4/100, Loss: 2.6821\n",
      "Epoch 4/100, Loss: 2.9175\n",
      "Epoch 4/100, Loss: 3.1234\n",
      "Epoch 4/100, Loss: 2.3711\n",
      "Epoch 5/100, Loss: 2.5566\n",
      "Epoch 5/100, Loss: 2.2435\n",
      "Epoch 5/100, Loss: 3.2477\n",
      "Epoch 5/100, Loss: 3.2372\n",
      "Epoch 5/100, Loss: 2.7701\n",
      "Epoch 5/100, Loss: 2.7904\n",
      "Epoch 5/100, Loss: 2.0473\n",
      "Epoch 5/100, Loss: 2.6741\n",
      "Epoch 5/100, Loss: 2.4434\n",
      "Epoch 5/100, Loss: 2.5342\n",
      "Epoch 5/100, Loss: 2.5442\n",
      "Epoch 5/100, Loss: 1.6126\n",
      "Epoch 5/100, Loss: 1.6038\n",
      "Epoch 5/100, Loss: 3.4243\n",
      "Epoch 5/100, Loss: 2.8588\n",
      "Epoch 5/100, Loss: 2.7203\n",
      "Epoch 5/100, Loss: 1.6972\n",
      "Epoch 5/100, Loss: 2.8264\n",
      "Epoch 5/100, Loss: 2.7048\n",
      "Epoch 5/100, Loss: 2.3190\n",
      "Epoch 5/100, Loss: 2.7349\n",
      "Epoch 5/100, Loss: 1.9620\n",
      "Epoch 5/100, Loss: 1.5026\n",
      "Epoch 5/100, Loss: 2.8719\n",
      "Epoch 5/100, Loss: 2.8267\n",
      "Epoch 5/100, Loss: 2.4487\n",
      "Epoch 5/100, Loss: 1.9730\n",
      "Epoch 5/100, Loss: 1.6839\n",
      "Epoch 5/100, Loss: 3.0744\n",
      "Epoch 5/100, Loss: 2.5886\n",
      "Epoch 5/100, Loss: 2.5496\n",
      "Epoch 5/100, Loss: 2.7787\n",
      "Epoch 5/100, Loss: 2.7837\n",
      "Epoch 5/100, Loss: 1.5611\n",
      "Epoch 5/100, Loss: 3.0863\n",
      "Epoch 5/100, Loss: 1.8267\n",
      "Epoch 5/100, Loss: 1.6703\n",
      "Epoch 5/100, Loss: 1.5166\n",
      "Epoch 5/100, Loss: 3.0231\n",
      "Epoch 5/100, Loss: 2.5222\n",
      "Epoch 5/100, Loss: 2.2035\n",
      "Epoch 5/100, Loss: 1.8611\n",
      "Epoch 5/100, Loss: 1.4395\n",
      "Epoch 5/100, Loss: 2.2214\n",
      "Epoch 5/100, Loss: 2.7894\n",
      "Epoch 5/100, Loss: 1.6783\n",
      "Epoch 5/100, Loss: 2.0883\n",
      "Epoch 5/100, Loss: 2.3603\n",
      "Epoch 5/100, Loss: 2.9643\n",
      "Epoch 5/100, Loss: 2.3283\n",
      "Epoch 5/100, Loss: 3.4825\n",
      "Epoch 5/100, Loss: 3.2563\n",
      "Epoch 5/100, Loss: 2.0058\n",
      "Epoch 5/100, Loss: 1.7740\n",
      "Epoch 5/100, Loss: 2.8473\n",
      "Epoch 5/100, Loss: 2.1035\n",
      "Epoch 5/100, Loss: 1.6246\n",
      "Epoch 5/100, Loss: 2.6573\n",
      "Epoch 5/100, Loss: 1.4910\n",
      "Epoch 5/100, Loss: 1.5510\n",
      "Epoch 5/100, Loss: 2.3003\n",
      "Epoch 5/100, Loss: 3.1548\n",
      "Epoch 6/100, Loss: 2.6964\n",
      "Epoch 6/100, Loss: 3.0948\n",
      "Epoch 6/100, Loss: 2.5000\n",
      "Epoch 6/100, Loss: 1.4508\n",
      "Epoch 6/100, Loss: 1.6595\n",
      "Epoch 6/100, Loss: 1.3771\n",
      "Epoch 6/100, Loss: 2.0644\n",
      "Epoch 6/100, Loss: 2.2968\n",
      "Epoch 6/100, Loss: 2.7851\n",
      "Epoch 6/100, Loss: 1.9953\n",
      "Epoch 6/100, Loss: 3.0553\n",
      "Epoch 6/100, Loss: 1.7456\n",
      "Epoch 6/100, Loss: 2.8530\n",
      "Epoch 6/100, Loss: 2.6157\n",
      "Epoch 6/100, Loss: 1.6129\n",
      "Epoch 6/100, Loss: 1.5688\n",
      "Epoch 6/100, Loss: 1.9298\n",
      "Epoch 6/100, Loss: 2.8427\n",
      "Epoch 6/100, Loss: 3.3040\n",
      "Epoch 6/100, Loss: 2.4619\n",
      "Epoch 6/100, Loss: 2.7542\n",
      "Epoch 6/100, Loss: 1.5521\n",
      "Epoch 6/100, Loss: 2.5008\n",
      "Epoch 6/100, Loss: 2.9446\n",
      "Epoch 6/100, Loss: 2.5284\n",
      "Epoch 6/100, Loss: 2.2277\n",
      "Epoch 6/100, Loss: 2.7534\n",
      "Epoch 6/100, Loss: 2.6886\n",
      "Epoch 6/100, Loss: 2.6899\n",
      "Epoch 6/100, Loss: 3.2687\n",
      "Epoch 6/100, Loss: 1.4465\n",
      "Epoch 6/100, Loss: 2.4227\n",
      "Epoch 6/100, Loss: 3.1186\n",
      "Epoch 6/100, Loss: 2.6641\n",
      "Epoch 6/100, Loss: 2.7858\n",
      "Epoch 6/100, Loss: 3.2991\n",
      "Epoch 6/100, Loss: 2.7079\n",
      "Epoch 6/100, Loss: 2.8478\n",
      "Epoch 6/100, Loss: 1.9889\n",
      "Epoch 6/100, Loss: 2.2432\n",
      "Epoch 6/100, Loss: 1.5899\n",
      "Epoch 6/100, Loss: 2.1691\n",
      "Epoch 6/100, Loss: 2.1147\n",
      "Epoch 6/100, Loss: 1.5160\n",
      "Epoch 6/100, Loss: 2.3868\n",
      "Epoch 6/100, Loss: 1.6585\n",
      "Epoch 6/100, Loss: 1.4508\n",
      "Epoch 6/100, Loss: 2.4061\n",
      "Epoch 6/100, Loss: 1.4029\n",
      "Epoch 6/100, Loss: 2.4590\n",
      "Epoch 6/100, Loss: 2.9006\n",
      "Epoch 6/100, Loss: 3.1181\n",
      "Epoch 6/100, Loss: 2.2067\n",
      "Epoch 6/100, Loss: 3.2346\n",
      "Epoch 6/100, Loss: 2.1342\n",
      "Epoch 6/100, Loss: 1.8536\n",
      "Epoch 6/100, Loss: 1.4603\n",
      "Epoch 6/100, Loss: 2.4862\n",
      "Epoch 6/100, Loss: 1.3770\n",
      "Epoch 6/100, Loss: 1.9913\n",
      "Epoch 6/100, Loss: 2.8675\n",
      "Epoch 6/100, Loss: 2.7130\n",
      "Epoch 7/100, Loss: 2.6102\n",
      "Epoch 7/100, Loss: 2.7141\n",
      "Epoch 7/100, Loss: 2.6768\n",
      "Epoch 7/100, Loss: 1.9405\n",
      "Epoch 7/100, Loss: 2.6541\n",
      "Epoch 7/100, Loss: 2.3986\n",
      "Epoch 7/100, Loss: 2.6042\n",
      "Epoch 7/100, Loss: 1.9073\n",
      "Epoch 7/100, Loss: 2.0747\n",
      "Epoch 7/100, Loss: 2.6875\n",
      "Epoch 7/100, Loss: 3.0277\n",
      "Epoch 7/100, Loss: 1.3602\n",
      "Epoch 7/100, Loss: 1.7776\n",
      "Epoch 7/100, Loss: 3.2333\n",
      "Epoch 7/100, Loss: 2.9050\n",
      "Epoch 7/100, Loss: 2.0002\n",
      "Epoch 7/100, Loss: 1.2810\n",
      "Epoch 7/100, Loss: 2.8758\n",
      "Epoch 7/100, Loss: 1.5188\n",
      "Epoch 7/100, Loss: 1.2135\n",
      "Epoch 7/100, Loss: 2.6467\n",
      "Epoch 7/100, Loss: 1.5081\n",
      "Epoch 7/100, Loss: 2.0668\n",
      "Epoch 7/100, Loss: 2.8309\n",
      "Epoch 7/100, Loss: 1.4447\n",
      "Epoch 7/100, Loss: 3.3364\n",
      "Epoch 7/100, Loss: 2.3181\n",
      "Epoch 7/100, Loss: 2.7563\n",
      "Epoch 7/100, Loss: 1.5356\n",
      "Epoch 7/100, Loss: 2.5631\n",
      "Epoch 7/100, Loss: 2.0721\n",
      "Epoch 7/100, Loss: 1.4253\n",
      "Epoch 7/100, Loss: 2.7659\n",
      "Epoch 7/100, Loss: 3.1497\n",
      "Epoch 7/100, Loss: 2.3306\n",
      "Epoch 7/100, Loss: 2.6758\n",
      "Epoch 7/100, Loss: 2.1603\n",
      "Epoch 7/100, Loss: 1.2913\n",
      "Epoch 7/100, Loss: 2.1141\n",
      "Epoch 7/100, Loss: 1.3774\n",
      "Epoch 7/100, Loss: 2.4703\n",
      "Epoch 7/100, Loss: 1.3157\n",
      "Epoch 7/100, Loss: 3.1581\n",
      "Epoch 7/100, Loss: 2.3618\n",
      "Epoch 7/100, Loss: 2.4180\n",
      "Epoch 7/100, Loss: 1.2328\n",
      "Epoch 7/100, Loss: 1.9794\n",
      "Epoch 7/100, Loss: 2.1134\n",
      "Epoch 7/100, Loss: 2.4363\n",
      "Epoch 7/100, Loss: 2.1998\n",
      "Epoch 7/100, Loss: 2.9900\n",
      "Epoch 7/100, Loss: 3.2069\n",
      "Epoch 7/100, Loss: 1.8832\n",
      "Epoch 7/100, Loss: 2.6902\n",
      "Epoch 7/100, Loss: 1.6661\n",
      "Epoch 7/100, Loss: 2.2862\n",
      "Epoch 7/100, Loss: 3.2231\n",
      "Epoch 7/100, Loss: 2.8764\n",
      "Epoch 7/100, Loss: 2.7985\n",
      "Epoch 7/100, Loss: 2.6139\n",
      "Epoch 7/100, Loss: 2.7433\n",
      "Epoch 7/100, Loss: 1.6346\n",
      "Epoch 8/100, Loss: 1.6170\n",
      "Epoch 8/100, Loss: 1.3668\n",
      "Epoch 8/100, Loss: 3.2178\n",
      "Epoch 8/100, Loss: 1.3162\n",
      "Epoch 8/100, Loss: 1.8817\n",
      "Epoch 8/100, Loss: 1.9017\n",
      "Epoch 8/100, Loss: 1.7910\n",
      "Epoch 8/100, Loss: 2.4789\n",
      "Epoch 8/100, Loss: 3.1732\n",
      "Epoch 8/100, Loss: 1.3063\n",
      "Epoch 8/100, Loss: 2.9228\n",
      "Epoch 8/100, Loss: 1.2760\n",
      "Epoch 8/100, Loss: 2.1080\n",
      "Epoch 8/100, Loss: 1.9882\n",
      "Epoch 8/100, Loss: 2.1983\n",
      "Epoch 8/100, Loss: 2.1388\n",
      "Epoch 8/100, Loss: 1.9529\n",
      "Epoch 8/100, Loss: 2.5307\n",
      "Epoch 8/100, Loss: 2.3349\n",
      "Epoch 8/100, Loss: 2.0291\n",
      "Epoch 8/100, Loss: 2.9123\n",
      "Epoch 8/100, Loss: 2.0230\n",
      "Epoch 8/100, Loss: 2.3216\n",
      "Epoch 8/100, Loss: 2.7138\n",
      "Epoch 8/100, Loss: 2.6170\n",
      "Epoch 8/100, Loss: 2.2704\n",
      "Epoch 8/100, Loss: 1.3096\n",
      "Epoch 8/100, Loss: 3.1769\n",
      "Epoch 8/100, Loss: 2.7404\n",
      "Epoch 8/100, Loss: 1.2134\n",
      "Epoch 8/100, Loss: 3.1335\n",
      "Epoch 8/100, Loss: 2.7095\n",
      "Epoch 8/100, Loss: 2.8083\n",
      "Epoch 8/100, Loss: 2.0546\n",
      "Epoch 8/100, Loss: 1.1466\n",
      "Epoch 8/100, Loss: 2.2512\n",
      "Epoch 8/100, Loss: 1.5698\n",
      "Epoch 8/100, Loss: 2.7336\n",
      "Epoch 8/100, Loss: 2.4638\n",
      "Epoch 8/100, Loss: 2.2989\n",
      "Epoch 8/100, Loss: 2.6136\n",
      "Epoch 8/100, Loss: 2.3268\n",
      "Epoch 8/100, Loss: 2.8217\n",
      "Epoch 8/100, Loss: 2.8461\n",
      "Epoch 8/100, Loss: 2.5450\n",
      "Epoch 8/100, Loss: 2.8115\n",
      "Epoch 8/100, Loss: 1.8335\n",
      "Epoch 8/100, Loss: 1.4451\n",
      "Epoch 8/100, Loss: 1.3754\n",
      "Epoch 8/100, Loss: 1.3087\n",
      "Epoch 8/100, Loss: 2.6260\n",
      "Epoch 8/100, Loss: 1.9232\n",
      "Epoch 8/100, Loss: 2.0883\n",
      "Epoch 8/100, Loss: 3.0568\n",
      "Epoch 8/100, Loss: 3.1606\n",
      "Epoch 8/100, Loss: 2.6614\n",
      "Epoch 8/100, Loss: 1.6017\n",
      "Epoch 8/100, Loss: 2.9220\n",
      "Epoch 8/100, Loss: 1.1761\n",
      "Epoch 8/100, Loss: 2.6796\n",
      "Epoch 8/100, Loss: 2.7515\n",
      "Epoch 8/100, Loss: 3.2022\n",
      "Epoch 9/100, Loss: 3.1260\n",
      "Epoch 9/100, Loss: 1.4886\n",
      "Epoch 9/100, Loss: 2.0546\n",
      "Epoch 9/100, Loss: 2.3955\n",
      "Epoch 9/100, Loss: 2.7327\n",
      "Epoch 9/100, Loss: 2.4531\n",
      "Epoch 9/100, Loss: 2.8998\n",
      "Epoch 9/100, Loss: 1.9485\n",
      "Epoch 9/100, Loss: 1.4002\n",
      "Epoch 9/100, Loss: 2.2645\n",
      "Epoch 9/100, Loss: 1.1713\n",
      "Epoch 9/100, Loss: 2.9020\n",
      "Epoch 9/100, Loss: 2.6657\n",
      "Epoch 9/100, Loss: 2.8855\n",
      "Epoch 9/100, Loss: 2.6569\n",
      "Epoch 9/100, Loss: 2.6991\n",
      "Epoch 9/100, Loss: 1.9794\n",
      "Epoch 9/100, Loss: 2.0451\n",
      "Epoch 9/100, Loss: 3.0796\n",
      "Epoch 9/100, Loss: 2.4416\n",
      "Epoch 9/100, Loss: 2.4912\n",
      "Epoch 9/100, Loss: 2.8593\n",
      "Epoch 9/100, Loss: 1.4758\n",
      "Epoch 9/100, Loss: 2.2912\n",
      "Epoch 9/100, Loss: 2.5983\n",
      "Epoch 9/100, Loss: 2.5541\n",
      "Epoch 9/100, Loss: 1.5650\n",
      "Epoch 9/100, Loss: 3.0659\n",
      "Epoch 9/100, Loss: 1.1977\n",
      "Epoch 9/100, Loss: 1.4131\n",
      "Epoch 9/100, Loss: 2.7057\n",
      "Epoch 9/100, Loss: 1.3455\n",
      "Epoch 9/100, Loss: 1.8747\n",
      "Epoch 9/100, Loss: 2.5752\n",
      "Epoch 9/100, Loss: 3.1866\n",
      "Epoch 9/100, Loss: 1.8784\n",
      "Epoch 9/100, Loss: 1.9161\n",
      "Epoch 9/100, Loss: 2.2280\n",
      "Epoch 9/100, Loss: 2.0096\n",
      "Epoch 9/100, Loss: 2.0454\n",
      "Epoch 9/100, Loss: 2.6814\n",
      "Epoch 9/100, Loss: 3.1453\n",
      "Epoch 9/100, Loss: 2.1052\n",
      "Epoch 9/100, Loss: 1.3471\n",
      "Epoch 9/100, Loss: 2.0336\n",
      "Epoch 9/100, Loss: 2.0746\n",
      "Epoch 9/100, Loss: 2.7787\n",
      "Epoch 9/100, Loss: 1.6837\n",
      "Epoch 9/100, Loss: 1.2868\n",
      "Epoch 9/100, Loss: 2.3702\n",
      "Epoch 9/100, Loss: 1.2455\n",
      "Epoch 9/100, Loss: 1.8451\n",
      "Epoch 9/100, Loss: 1.8418\n",
      "Epoch 9/100, Loss: 2.7196\n",
      "Epoch 9/100, Loss: 2.6800\n",
      "Epoch 9/100, Loss: 3.0556\n",
      "Epoch 9/100, Loss: 2.7893\n",
      "Epoch 9/100, Loss: 2.1768\n",
      "Epoch 9/100, Loss: 2.7785\n",
      "Epoch 9/100, Loss: 2.1661\n",
      "Epoch 9/100, Loss: 1.1947\n",
      "Epoch 9/100, Loss: 1.1277\n",
      "Epoch 10/100, Loss: 2.6386\n",
      "Epoch 10/100, Loss: 2.0940\n",
      "Epoch 10/100, Loss: 2.6112\n",
      "Epoch 10/100, Loss: 2.5844\n",
      "Epoch 10/100, Loss: 2.3479\n",
      "Epoch 10/100, Loss: 2.6124\n",
      "Epoch 10/100, Loss: 1.2906\n",
      "Epoch 10/100, Loss: 1.2274\n",
      "Epoch 10/100, Loss: 1.7748\n",
      "Epoch 10/100, Loss: 1.1244\n",
      "Epoch 10/100, Loss: 2.9875\n",
      "Epoch 10/100, Loss: 2.4506\n",
      "Epoch 10/100, Loss: 2.8874\n",
      "Epoch 10/100, Loss: 2.8128\n",
      "Epoch 10/100, Loss: 1.9900\n",
      "Epoch 10/100, Loss: 1.2045\n",
      "Epoch 10/100, Loss: 1.5911\n",
      "Epoch 10/100, Loss: 2.0106\n",
      "Epoch 10/100, Loss: 2.0329\n",
      "Epoch 10/100, Loss: 2.5018\n",
      "Epoch 10/100, Loss: 1.7330\n",
      "Epoch 10/100, Loss: 1.1498\n",
      "Epoch 10/100, Loss: 1.9649\n",
      "Epoch 10/100, Loss: 2.2473\n",
      "Epoch 10/100, Loss: 2.1802\n",
      "Epoch 10/100, Loss: 3.0130\n",
      "Epoch 10/100, Loss: 1.4859\n",
      "Epoch 10/100, Loss: 2.8179\n",
      "Epoch 10/100, Loss: 2.3423\n",
      "Epoch 10/100, Loss: 2.6183\n",
      "Epoch 10/100, Loss: 1.1195\n",
      "Epoch 10/100, Loss: 2.0034\n",
      "Epoch 10/100, Loss: 1.9067\n",
      "Epoch 10/100, Loss: 1.0580\n",
      "Epoch 10/100, Loss: 3.2805\n",
      "Epoch 10/100, Loss: 2.2177\n",
      "Epoch 10/100, Loss: 2.6509\n",
      "Epoch 10/100, Loss: 2.7907\n",
      "Epoch 10/100, Loss: 1.7686\n",
      "Epoch 10/100, Loss: 2.9364\n",
      "Epoch 10/100, Loss: 1.8683\n",
      "Epoch 10/100, Loss: 3.2494\n",
      "Epoch 10/100, Loss: 2.6639\n",
      "Epoch 10/100, Loss: 2.4834\n",
      "Epoch 10/100, Loss: 2.9811\n",
      "Epoch 10/100, Loss: 2.1725\n",
      "Epoch 10/100, Loss: 1.5353\n",
      "Epoch 10/100, Loss: 1.6813\n",
      "Epoch 10/100, Loss: 2.7120\n",
      "Epoch 10/100, Loss: 1.8004\n",
      "Epoch 10/100, Loss: 2.5808\n",
      "Epoch 10/100, Loss: 2.0261\n",
      "Epoch 10/100, Loss: 2.4228\n",
      "Epoch 10/100, Loss: 2.7736\n",
      "Epoch 10/100, Loss: 1.2539\n",
      "Epoch 10/100, Loss: 3.1592\n",
      "Epoch 10/100, Loss: 3.2021\n",
      "Epoch 10/100, Loss: 1.1220\n",
      "Epoch 10/100, Loss: 2.1177\n",
      "Epoch 10/100, Loss: 2.7889\n",
      "Epoch 10/100, Loss: 2.1075\n",
      "Epoch 10/100, Loss: 1.0757\n",
      "Epoch 11/100, Loss: 3.0414\n",
      "Epoch 11/100, Loss: 1.4281\n",
      "Epoch 11/100, Loss: 2.2968\n",
      "Epoch 11/100, Loss: 2.1466\n",
      "Epoch 11/100, Loss: 2.6282\n",
      "Epoch 11/100, Loss: 1.7564\n",
      "Epoch 11/100, Loss: 1.6867\n",
      "Epoch 11/100, Loss: 2.9410\n",
      "Epoch 11/100, Loss: 1.0024\n",
      "Epoch 11/100, Loss: 2.4206\n",
      "Epoch 11/100, Loss: 2.8658\n",
      "Epoch 11/100, Loss: 2.4006\n",
      "Epoch 11/100, Loss: 2.5633\n",
      "Epoch 11/100, Loss: 1.3943\n",
      "Epoch 11/100, Loss: 3.1682\n",
      "Epoch 11/100, Loss: 2.8548\n",
      "Epoch 11/100, Loss: 1.3459\n",
      "Epoch 11/100, Loss: 1.7825\n",
      "Epoch 11/100, Loss: 0.9816\n",
      "Epoch 11/100, Loss: 2.1010\n",
      "Epoch 11/100, Loss: 2.6090\n",
      "Epoch 11/100, Loss: 1.9464\n",
      "Epoch 11/100, Loss: 0.9341\n",
      "Epoch 11/100, Loss: 1.6995\n",
      "Epoch 11/100, Loss: 2.8193\n",
      "Epoch 11/100, Loss: 1.9740\n",
      "Epoch 11/100, Loss: 1.2807\n",
      "Epoch 11/100, Loss: 2.0409\n",
      "Epoch 11/100, Loss: 2.7166\n",
      "Epoch 11/100, Loss: 1.9459\n",
      "Epoch 11/100, Loss: 2.3487\n",
      "Epoch 11/100, Loss: 2.5384\n",
      "Epoch 11/100, Loss: 2.7728\n",
      "Epoch 11/100, Loss: 2.7794\n",
      "Epoch 11/100, Loss: 3.2516\n",
      "Epoch 11/100, Loss: 2.9537\n",
      "Epoch 11/100, Loss: 0.9975\n",
      "Epoch 11/100, Loss: 1.2745\n",
      "Epoch 11/100, Loss: 2.5703\n",
      "Epoch 11/100, Loss: 2.0177\n",
      "Epoch 11/100, Loss: 2.5649\n",
      "Epoch 11/100, Loss: 1.6345\n",
      "Epoch 11/100, Loss: 2.0243\n",
      "Epoch 11/100, Loss: 1.9658\n",
      "Epoch 11/100, Loss: 1.5806\n",
      "Epoch 11/100, Loss: 2.5542\n",
      "Epoch 11/100, Loss: 0.9230\n",
      "Epoch 11/100, Loss: 1.9649\n",
      "Epoch 11/100, Loss: 2.6674\n",
      "Epoch 11/100, Loss: 1.8565\n",
      "Epoch 11/100, Loss: 2.6485\n",
      "Epoch 11/100, Loss: 2.0432\n",
      "Epoch 11/100, Loss: 2.2943\n",
      "Epoch 11/100, Loss: 2.5562\n",
      "Epoch 11/100, Loss: 1.2377\n",
      "Epoch 11/100, Loss: 2.5201\n",
      "Epoch 11/100, Loss: 2.1904\n",
      "Epoch 11/100, Loss: 2.0928\n",
      "Epoch 11/100, Loss: 2.9432\n",
      "Epoch 11/100, Loss: 3.2056\n",
      "Epoch 11/100, Loss: 1.5017\n",
      "Epoch 11/100, Loss: 2.9144\n",
      "Epoch 12/100, Loss: 3.0204\n",
      "Epoch 12/100, Loss: 1.9010\n",
      "Epoch 12/100, Loss: 2.5263\n",
      "Epoch 12/100, Loss: 1.2547\n",
      "Epoch 12/100, Loss: 1.3752\n",
      "Epoch 12/100, Loss: 2.9081\n",
      "Epoch 12/100, Loss: 2.2706\n",
      "Epoch 12/100, Loss: 2.1144\n",
      "Epoch 12/100, Loss: 2.2456\n",
      "Epoch 12/100, Loss: 2.5138\n",
      "Epoch 12/100, Loss: 3.1163\n",
      "Epoch 12/100, Loss: 2.7918\n",
      "Epoch 12/100, Loss: 2.7764\n",
      "Epoch 12/100, Loss: 1.2793\n",
      "Epoch 12/100, Loss: 2.2252\n",
      "Epoch 12/100, Loss: 2.3985\n",
      "Epoch 12/100, Loss: 1.9943\n",
      "Epoch 12/100, Loss: 1.2146\n",
      "Epoch 12/100, Loss: 1.9495\n",
      "Epoch 12/100, Loss: 1.9454\n",
      "Epoch 12/100, Loss: 1.1314\n",
      "Epoch 12/100, Loss: 1.9662\n",
      "Epoch 12/100, Loss: 1.6310\n",
      "Epoch 12/100, Loss: 2.0859\n",
      "Epoch 12/100, Loss: 2.1750\n",
      "Epoch 12/100, Loss: 3.2316\n",
      "Epoch 12/100, Loss: 2.3843\n",
      "Epoch 12/100, Loss: 1.8544\n",
      "Epoch 12/100, Loss: 1.9044\n",
      "Epoch 12/100, Loss: 1.6644\n",
      "Epoch 12/100, Loss: 2.4012\n",
      "Epoch 12/100, Loss: 1.2260\n",
      "Epoch 12/100, Loss: 2.2996\n",
      "Epoch 12/100, Loss: 1.1595\n",
      "Epoch 12/100, Loss: 3.0455\n",
      "Epoch 12/100, Loss: 2.6270\n",
      "Epoch 12/100, Loss: 2.6022\n",
      "Epoch 12/100, Loss: 2.7787\n",
      "Epoch 12/100, Loss: 1.5974\n",
      "Epoch 12/100, Loss: 2.8114\n",
      "Epoch 12/100, Loss: 1.6117\n",
      "Epoch 12/100, Loss: 1.0624\n",
      "Epoch 12/100, Loss: 1.9276\n",
      "Epoch 12/100, Loss: 1.2260\n",
      "Epoch 12/100, Loss: 1.8823\n",
      "Epoch 12/100, Loss: 1.7825\n",
      "Epoch 12/100, Loss: 2.8506\n",
      "Epoch 12/100, Loss: 2.9805\n",
      "Epoch 12/100, Loss: 2.0577\n",
      "Epoch 12/100, Loss: 2.0670\n",
      "Epoch 12/100, Loss: 1.0098\n",
      "Epoch 12/100, Loss: 2.5725\n",
      "Epoch 12/100, Loss: 1.9151\n",
      "Epoch 12/100, Loss: 3.1793\n",
      "Epoch 12/100, Loss: 1.5018\n",
      "Epoch 12/100, Loss: 2.7913\n",
      "Epoch 12/100, Loss: 2.6897\n",
      "Epoch 12/100, Loss: 2.6349\n",
      "Epoch 12/100, Loss: 2.8737\n",
      "Epoch 12/100, Loss: 1.8360\n",
      "Epoch 12/100, Loss: 2.7808\n",
      "Epoch 12/100, Loss: 1.0136\n",
      "Epoch 13/100, Loss: 2.3535\n",
      "Epoch 13/100, Loss: 2.6991\n",
      "Epoch 13/100, Loss: 1.8777\n",
      "Epoch 13/100, Loss: 1.8055\n",
      "Epoch 13/100, Loss: 1.2618\n",
      "Epoch 13/100, Loss: 0.9652\n",
      "Epoch 13/100, Loss: 2.6686\n",
      "Epoch 13/100, Loss: 0.9102\n",
      "Epoch 13/100, Loss: 2.9090\n",
      "Epoch 13/100, Loss: 1.4464\n",
      "Epoch 13/100, Loss: 2.7434\n",
      "Epoch 13/100, Loss: 1.9866\n",
      "Epoch 13/100, Loss: 2.0017\n",
      "Epoch 13/100, Loss: 3.0566\n",
      "Epoch 13/100, Loss: 2.1125\n",
      "Epoch 13/100, Loss: 3.0727\n",
      "Epoch 13/100, Loss: 1.7150\n",
      "Epoch 13/100, Loss: 1.7413\n",
      "Epoch 13/100, Loss: 2.6952\n",
      "Epoch 13/100, Loss: 3.0056\n",
      "Epoch 13/100, Loss: 1.9016\n",
      "Epoch 13/100, Loss: 1.9058\n",
      "Epoch 13/100, Loss: 3.2233\n",
      "Epoch 13/100, Loss: 0.9034\n",
      "Epoch 13/100, Loss: 2.3794\n",
      "Epoch 13/100, Loss: 1.6131\n",
      "Epoch 13/100, Loss: 1.7958\n",
      "Epoch 13/100, Loss: 2.5239\n",
      "Epoch 13/100, Loss: 2.4190\n",
      "Epoch 13/100, Loss: 2.6717\n",
      "Epoch 13/100, Loss: 1.8909\n",
      "Epoch 13/100, Loss: 1.8561\n",
      "Epoch 13/100, Loss: 3.1353\n",
      "Epoch 13/100, Loss: 1.4009\n",
      "Epoch 13/100, Loss: 1.4551\n",
      "Epoch 13/100, Loss: 1.9143\n",
      "Epoch 13/100, Loss: 2.9549\n",
      "Epoch 13/100, Loss: 2.4410\n",
      "Epoch 13/100, Loss: 2.1753\n",
      "Epoch 13/100, Loss: 3.0303\n",
      "Epoch 13/100, Loss: 2.4604\n",
      "Epoch 13/100, Loss: 2.5567\n",
      "Epoch 13/100, Loss: 1.3723\n",
      "Epoch 13/100, Loss: 2.0663\n",
      "Epoch 13/100, Loss: 0.9112\n",
      "Epoch 13/100, Loss: 2.5515\n",
      "Epoch 13/100, Loss: 1.5991\n",
      "Epoch 13/100, Loss: 1.9196\n",
      "Epoch 13/100, Loss: 1.3303\n",
      "Epoch 13/100, Loss: 2.4913\n",
      "Epoch 13/100, Loss: 2.7716\n",
      "Epoch 13/100, Loss: 1.6524\n",
      "Epoch 13/100, Loss: 2.4413\n",
      "Epoch 13/100, Loss: 2.2373\n",
      "Epoch 13/100, Loss: 1.2694\n",
      "Epoch 13/100, Loss: 1.6121\n",
      "Epoch 13/100, Loss: 2.8886\n",
      "Epoch 13/100, Loss: 1.9661\n",
      "Epoch 13/100, Loss: 2.2564\n",
      "Epoch 13/100, Loss: 2.5421\n",
      "Epoch 13/100, Loss: 2.7761\n",
      "Epoch 13/100, Loss: 1.0064\n",
      "Epoch 14/100, Loss: 2.7042\n",
      "Epoch 14/100, Loss: 1.8059\n",
      "Epoch 14/100, Loss: 1.8305\n",
      "Epoch 14/100, Loss: 0.9616\n",
      "Epoch 14/100, Loss: 1.8962\n",
      "Epoch 14/100, Loss: 2.1546\n",
      "Epoch 14/100, Loss: 2.4083\n",
      "Epoch 14/100, Loss: 1.9934\n",
      "Epoch 14/100, Loss: 1.9009\n",
      "Epoch 14/100, Loss: 0.9100\n",
      "Epoch 14/100, Loss: 1.9174\n",
      "Epoch 14/100, Loss: 2.0713\n",
      "Epoch 14/100, Loss: 1.5020\n",
      "Epoch 14/100, Loss: 1.8014\n",
      "Epoch 14/100, Loss: 1.8317\n",
      "Epoch 14/100, Loss: 0.8616\n",
      "Epoch 14/100, Loss: 3.1174\n",
      "Epoch 14/100, Loss: 2.9297\n",
      "Epoch 14/100, Loss: 1.5581\n",
      "Epoch 14/100, Loss: 2.5585\n",
      "Epoch 14/100, Loss: 3.1918\n",
      "Epoch 14/100, Loss: 2.8655\n",
      "Epoch 14/100, Loss: 1.3689\n",
      "Epoch 14/100, Loss: 2.4296\n",
      "Epoch 14/100, Loss: 1.7571\n",
      "Epoch 14/100, Loss: 2.1726\n",
      "Epoch 14/100, Loss: 2.4323\n",
      "Epoch 14/100, Loss: 2.7211\n",
      "Epoch 14/100, Loss: 2.9582\n",
      "Epoch 14/100, Loss: 2.3290\n",
      "Epoch 14/100, Loss: 1.3354\n",
      "Epoch 14/100, Loss: 2.6586\n",
      "Epoch 14/100, Loss: 2.7262\n",
      "Epoch 14/100, Loss: 2.5422\n",
      "Epoch 14/100, Loss: 2.7711\n",
      "Epoch 14/100, Loss: 2.0878\n",
      "Epoch 14/100, Loss: 2.3713\n",
      "Epoch 14/100, Loss: 2.0400\n",
      "Epoch 14/100, Loss: 2.5826\n",
      "Epoch 14/100, Loss: 0.9462\n",
      "Epoch 14/100, Loss: 1.8188\n",
      "Epoch 14/100, Loss: 2.1318\n",
      "Epoch 14/100, Loss: 1.3470\n",
      "Epoch 14/100, Loss: 2.5728\n",
      "Epoch 14/100, Loss: 0.9018\n",
      "Epoch 14/100, Loss: 2.3800\n",
      "Epoch 14/100, Loss: 1.8095\n",
      "Epoch 14/100, Loss: 1.7359\n",
      "Epoch 14/100, Loss: 1.4724\n",
      "Epoch 14/100, Loss: 1.7939\n",
      "Epoch 14/100, Loss: 1.3092\n",
      "Epoch 14/100, Loss: 3.0498\n",
      "Epoch 14/100, Loss: 2.9900\n",
      "Epoch 14/100, Loss: 1.2714\n",
      "Epoch 14/100, Loss: 3.1200\n",
      "Epoch 14/100, Loss: 3.1361\n",
      "Epoch 14/100, Loss: 1.6091\n",
      "Epoch 14/100, Loss: 1.2472\n",
      "Epoch 14/100, Loss: 2.4278\n",
      "Epoch 14/100, Loss: 2.4761\n",
      "Epoch 14/100, Loss: 1.6289\n",
      "Epoch 14/100, Loss: 2.7840\n",
      "Epoch 15/100, Loss: 1.5585\n",
      "Epoch 15/100, Loss: 1.8021\n",
      "Epoch 15/100, Loss: 1.7300\n",
      "Epoch 15/100, Loss: 1.7447\n",
      "Epoch 15/100, Loss: 1.5186\n",
      "Epoch 15/100, Loss: 2.9368\n",
      "Epoch 15/100, Loss: 2.9564\n",
      "Epoch 15/100, Loss: 2.7339\n",
      "Epoch 15/100, Loss: 2.5678\n",
      "Epoch 15/100, Loss: 1.7947\n",
      "Epoch 15/100, Loss: 2.3715\n",
      "Epoch 15/100, Loss: 1.2597\n",
      "Epoch 15/100, Loss: 1.2158\n",
      "Epoch 15/100, Loss: 2.6693\n",
      "Epoch 15/100, Loss: 2.6564\n",
      "Epoch 15/100, Loss: 1.9168\n",
      "Epoch 15/100, Loss: 3.0387\n",
      "Epoch 15/100, Loss: 2.3966\n",
      "Epoch 15/100, Loss: 1.8131\n",
      "Epoch 15/100, Loss: 3.2206\n",
      "Epoch 15/100, Loss: 0.9645\n",
      "Epoch 15/100, Loss: 2.0209\n",
      "Epoch 15/100, Loss: 2.8167\n",
      "Epoch 15/100, Loss: 2.4130\n",
      "Epoch 15/100, Loss: 1.2958\n",
      "Epoch 15/100, Loss: 2.7442\n",
      "Epoch 15/100, Loss: 1.6401\n",
      "Epoch 15/100, Loss: 1.2400\n",
      "Epoch 15/100, Loss: 2.3102\n",
      "Epoch 15/100, Loss: 1.1764\n",
      "Epoch 15/100, Loss: 1.7088\n",
      "Epoch 15/100, Loss: 2.5957\n",
      "Epoch 15/100, Loss: 2.1697\n",
      "Epoch 15/100, Loss: 0.9785\n",
      "Epoch 15/100, Loss: 2.1496\n",
      "Epoch 15/100, Loss: 2.6171\n",
      "Epoch 15/100, Loss: 3.1157\n",
      "Epoch 15/100, Loss: 2.3886\n",
      "Epoch 15/100, Loss: 1.7639\n",
      "Epoch 15/100, Loss: 3.2026\n",
      "Epoch 15/100, Loss: 2.0136\n",
      "Epoch 15/100, Loss: 1.4766\n",
      "Epoch 15/100, Loss: 2.3838\n",
      "Epoch 15/100, Loss: 1.8999\n",
      "Epoch 15/100, Loss: 1.3945\n",
      "Epoch 15/100, Loss: 1.0071\n",
      "Epoch 15/100, Loss: 2.0449\n",
      "Epoch 15/100, Loss: 2.9724\n",
      "Epoch 15/100, Loss: 2.0804\n",
      "Epoch 15/100, Loss: 0.9461\n",
      "Epoch 15/100, Loss: 2.8850\n",
      "Epoch 15/100, Loss: 2.5253\n",
      "Epoch 15/100, Loss: 2.7724\n",
      "Epoch 15/100, Loss: 0.9438\n",
      "Epoch 15/100, Loss: 1.7355\n",
      "Epoch 15/100, Loss: 2.4056\n",
      "Epoch 15/100, Loss: 2.5552\n",
      "Epoch 15/100, Loss: 2.0931\n",
      "Epoch 15/100, Loss: 2.0988\n",
      "Epoch 15/100, Loss: 2.3389\n",
      "Epoch 15/100, Loss: 1.2617\n",
      "Epoch 15/100, Loss: 1.7902\n",
      "Epoch 16/100, Loss: 1.8834\n",
      "Epoch 16/100, Loss: 1.9373\n",
      "Epoch 16/100, Loss: 1.6767\n",
      "Epoch 16/100, Loss: 0.9185\n",
      "Epoch 16/100, Loss: 1.6425\n",
      "Epoch 16/100, Loss: 1.7100\n",
      "Epoch 16/100, Loss: 2.1811\n",
      "Epoch 16/100, Loss: 2.2867\n",
      "Epoch 16/100, Loss: 0.8736\n",
      "Epoch 16/100, Loss: 1.2039\n",
      "Epoch 16/100, Loss: 3.0997\n",
      "Epoch 16/100, Loss: 2.9312\n",
      "Epoch 16/100, Loss: 2.7345\n",
      "Epoch 16/100, Loss: 2.5410\n",
      "Epoch 16/100, Loss: 3.2365\n",
      "Epoch 16/100, Loss: 1.7812\n",
      "Epoch 16/100, Loss: 1.2387\n",
      "Epoch 16/100, Loss: 1.4687\n",
      "Epoch 16/100, Loss: 2.4551\n",
      "Epoch 16/100, Loss: 2.4824\n",
      "Epoch 16/100, Loss: 0.8290\n",
      "Epoch 16/100, Loss: 1.8143\n",
      "Epoch 16/100, Loss: 2.0442\n",
      "Epoch 16/100, Loss: 1.6292\n",
      "Epoch 16/100, Loss: 0.7791\n",
      "Epoch 16/100, Loss: 1.7950\n",
      "Epoch 16/100, Loss: 3.0421\n",
      "Epoch 16/100, Loss: 2.2767\n",
      "Epoch 16/100, Loss: 2.4319\n",
      "Epoch 16/100, Loss: 1.7654\n",
      "Epoch 16/100, Loss: 2.9475\n",
      "Epoch 16/100, Loss: 1.6619\n",
      "Epoch 16/100, Loss: 3.0965\n",
      "Epoch 16/100, Loss: 2.3866\n",
      "Epoch 16/100, Loss: 1.2662\n",
      "Epoch 16/100, Loss: 2.6289\n",
      "Epoch 16/100, Loss: 0.9014\n",
      "Epoch 16/100, Loss: 2.4376\n",
      "Epoch 16/100, Loss: 2.3369\n",
      "Epoch 16/100, Loss: 2.0954\n",
      "Epoch 16/100, Loss: 1.3229\n",
      "Epoch 16/100, Loss: 2.7375\n",
      "Epoch 16/100, Loss: 2.9461\n",
      "Epoch 16/100, Loss: 1.2183\n",
      "Epoch 16/100, Loss: 2.0979\n",
      "Epoch 16/100, Loss: 2.1310\n",
      "Epoch 16/100, Loss: 1.1882\n",
      "Epoch 16/100, Loss: 2.4073\n",
      "Epoch 16/100, Loss: 1.8509\n",
      "Epoch 16/100, Loss: 2.9943\n",
      "Epoch 16/100, Loss: 2.5550\n",
      "Epoch 16/100, Loss: 1.5561\n",
      "Epoch 16/100, Loss: 2.6967\n",
      "Epoch 16/100, Loss: 2.4987\n",
      "Epoch 16/100, Loss: 2.0432\n",
      "Epoch 16/100, Loss: 2.1215\n",
      "Epoch 16/100, Loss: 1.5180\n",
      "Epoch 16/100, Loss: 1.7431\n",
      "Epoch 16/100, Loss: 2.1805\n",
      "Epoch 16/100, Loss: 3.2018\n",
      "Epoch 16/100, Loss: 2.7559\n",
      "Epoch 16/100, Loss: 1.5336\n",
      "Epoch 17/100, Loss: 0.9212\n",
      "Epoch 17/100, Loss: 1.6849\n",
      "Epoch 17/100, Loss: 2.9207\n",
      "Epoch 17/100, Loss: 2.0188\n",
      "Epoch 17/100, Loss: 2.0637\n",
      "Epoch 17/100, Loss: 1.3427\n",
      "Epoch 17/100, Loss: 1.6724\n",
      "Epoch 17/100, Loss: 0.8583\n",
      "Epoch 17/100, Loss: 3.0368\n",
      "Epoch 17/100, Loss: 1.7133\n",
      "Epoch 17/100, Loss: 3.0773\n",
      "Epoch 17/100, Loss: 3.1116\n",
      "Epoch 17/100, Loss: 2.6773\n",
      "Epoch 17/100, Loss: 2.2714\n",
      "Epoch 17/100, Loss: 0.9099\n",
      "Epoch 17/100, Loss: 2.0160\n",
      "Epoch 17/100, Loss: 2.5698\n",
      "Epoch 17/100, Loss: 1.4821\n",
      "Epoch 17/100, Loss: 2.4628\n",
      "Epoch 17/100, Loss: 1.6023\n",
      "Epoch 17/100, Loss: 1.9482\n",
      "Epoch 17/100, Loss: 2.3774\n",
      "Epoch 17/100, Loss: 1.2996\n",
      "Epoch 17/100, Loss: 2.7150\n",
      "Epoch 17/100, Loss: 1.9409\n",
      "Epoch 17/100, Loss: 2.2760\n",
      "Epoch 17/100, Loss: 1.6218\n",
      "Epoch 17/100, Loss: 0.9174\n",
      "Epoch 17/100, Loss: 2.1529\n",
      "Epoch 17/100, Loss: 2.4399\n",
      "Epoch 17/100, Loss: 3.0649\n",
      "Epoch 17/100, Loss: 2.0414\n",
      "Epoch 17/100, Loss: 1.3886\n",
      "Epoch 17/100, Loss: 2.4341\n",
      "Epoch 17/100, Loss: 1.4752\n",
      "Epoch 17/100, Loss: 2.4977\n",
      "Epoch 17/100, Loss: 2.6216\n",
      "Epoch 17/100, Loss: 2.9678\n",
      "Epoch 17/100, Loss: 1.8414\n",
      "Epoch 17/100, Loss: 1.7804\n",
      "Epoch 17/100, Loss: 2.4554\n",
      "Epoch 17/100, Loss: 2.6935\n",
      "Epoch 17/100, Loss: 1.6309\n",
      "Epoch 17/100, Loss: 1.3199\n",
      "Epoch 17/100, Loss: 1.2527\n",
      "Epoch 17/100, Loss: 1.8804\n",
      "Epoch 17/100, Loss: 1.8533\n",
      "Epoch 17/100, Loss: 2.5139\n",
      "Epoch 17/100, Loss: 2.0080\n",
      "Epoch 17/100, Loss: 0.9285\n",
      "Epoch 17/100, Loss: 2.3677\n",
      "Epoch 17/100, Loss: 1.2763\n",
      "Epoch 17/100, Loss: 3.3060\n",
      "Epoch 17/100, Loss: 2.0474\n",
      "Epoch 17/100, Loss: 2.1594\n",
      "Epoch 17/100, Loss: 1.7189\n",
      "Epoch 17/100, Loss: 1.7970\n",
      "Epoch 17/100, Loss: 2.9512\n",
      "Epoch 17/100, Loss: 1.2301\n",
      "Epoch 17/100, Loss: 2.6820\n",
      "Epoch 17/100, Loss: 1.6843\n",
      "Epoch 17/100, Loss: 2.7548\n",
      "Epoch 18/100, Loss: 1.7587\n",
      "Epoch 18/100, Loss: 1.5670\n",
      "Epoch 18/100, Loss: 2.0517\n",
      "Epoch 18/100, Loss: 2.4927\n",
      "Epoch 18/100, Loss: 1.4333\n",
      "Epoch 18/100, Loss: 3.2076\n",
      "Epoch 18/100, Loss: 1.2084\n",
      "Epoch 18/100, Loss: 2.0334\n",
      "Epoch 18/100, Loss: 0.9213\n",
      "Epoch 18/100, Loss: 2.0770\n",
      "Epoch 18/100, Loss: 1.1483\n",
      "Epoch 18/100, Loss: 2.3646\n",
      "Epoch 18/100, Loss: 2.7723\n",
      "Epoch 18/100, Loss: 1.9039\n",
      "Epoch 18/100, Loss: 1.4427\n",
      "Epoch 18/100, Loss: 2.8172\n",
      "Epoch 18/100, Loss: 2.0136\n",
      "Epoch 18/100, Loss: 1.7198\n",
      "Epoch 18/100, Loss: 0.9544\n",
      "Epoch 18/100, Loss: 2.4564\n",
      "Epoch 18/100, Loss: 0.8964\n",
      "Epoch 18/100, Loss: 2.4571\n",
      "Epoch 18/100, Loss: 2.3445\n",
      "Epoch 18/100, Loss: 1.7252\n",
      "Epoch 18/100, Loss: 2.7024\n",
      "Epoch 18/100, Loss: 1.9646\n",
      "Epoch 18/100, Loss: 1.6594\n",
      "Epoch 18/100, Loss: 2.0187\n",
      "Epoch 18/100, Loss: 2.4427\n",
      "Epoch 18/100, Loss: 3.1466\n",
      "Epoch 18/100, Loss: 1.7454\n",
      "Epoch 18/100, Loss: 2.6662\n",
      "Epoch 18/100, Loss: 1.3413\n",
      "Epoch 18/100, Loss: 1.9111\n",
      "Epoch 18/100, Loss: 2.2738\n",
      "Epoch 18/100, Loss: 3.1581\n",
      "Epoch 18/100, Loss: 2.9769\n",
      "Epoch 18/100, Loss: 1.6899\n",
      "Epoch 18/100, Loss: 2.6192\n",
      "Epoch 18/100, Loss: 2.4836\n",
      "Epoch 18/100, Loss: 3.0605\n",
      "Epoch 18/100, Loss: 2.2257\n",
      "Epoch 18/100, Loss: 1.3186\n",
      "Epoch 18/100, Loss: 3.0414\n",
      "Epoch 18/100, Loss: 2.2414\n",
      "Epoch 18/100, Loss: 2.5572\n",
      "Epoch 18/100, Loss: 3.0969\n",
      "Epoch 18/100, Loss: 1.2967\n",
      "Epoch 18/100, Loss: 1.8752\n",
      "Epoch 18/100, Loss: 2.1392\n",
      "Epoch 18/100, Loss: 1.7817\n",
      "Epoch 18/100, Loss: 1.6008\n",
      "Epoch 18/100, Loss: 2.6990\n",
      "Epoch 18/100, Loss: 1.3074\n",
      "Epoch 18/100, Loss: 1.6476\n",
      "Epoch 18/100, Loss: 0.8951\n",
      "Epoch 18/100, Loss: 0.8412\n",
      "Epoch 18/100, Loss: 1.7291\n",
      "Epoch 18/100, Loss: 1.2299\n",
      "Epoch 18/100, Loss: 2.4737\n",
      "Epoch 18/100, Loss: 2.5184\n",
      "Epoch 18/100, Loss: 1.6227\n",
      "Epoch 19/100, Loss: 3.0412\n",
      "Epoch 19/100, Loss: 2.4166\n",
      "Epoch 19/100, Loss: 1.9931\n",
      "Epoch 19/100, Loss: 1.8629\n",
      "Epoch 19/100, Loss: 2.7265\n",
      "Epoch 19/100, Loss: 1.2824\n",
      "Epoch 19/100, Loss: 2.0935\n",
      "Epoch 19/100, Loss: 0.8895\n",
      "Epoch 19/100, Loss: 2.5820\n",
      "Epoch 19/100, Loss: 2.9377\n",
      "Epoch 19/100, Loss: 1.2467\n",
      "Epoch 19/100, Loss: 2.1627\n",
      "Epoch 19/100, Loss: 2.4269\n",
      "Epoch 19/100, Loss: 1.9475\n",
      "Epoch 19/100, Loss: 1.8407\n",
      "Epoch 19/100, Loss: 1.2131\n",
      "Epoch 19/100, Loss: 1.5363\n",
      "Epoch 19/100, Loss: 3.1005\n",
      "Epoch 19/100, Loss: 1.6394\n",
      "Epoch 19/100, Loss: 2.6020\n",
      "Epoch 19/100, Loss: 1.6985\n",
      "Epoch 19/100, Loss: 0.9380\n",
      "Epoch 19/100, Loss: 2.0970\n",
      "Epoch 19/100, Loss: 1.7430\n",
      "Epoch 19/100, Loss: 1.7425\n",
      "Epoch 19/100, Loss: 1.5837\n",
      "Epoch 19/100, Loss: 1.1706\n",
      "Epoch 19/100, Loss: 2.6421\n",
      "Epoch 19/100, Loss: 3.2676\n",
      "Epoch 19/100, Loss: 0.8873\n",
      "Epoch 19/100, Loss: 2.6942\n",
      "Epoch 19/100, Loss: 1.5173\n",
      "Epoch 19/100, Loss: 2.9599\n",
      "Epoch 19/100, Loss: 1.1476\n",
      "Epoch 19/100, Loss: 1.5232\n",
      "Epoch 19/100, Loss: 2.1829\n",
      "Epoch 19/100, Loss: 2.7457\n",
      "Epoch 19/100, Loss: 2.3989\n",
      "Epoch 19/100, Loss: 2.4393\n",
      "Epoch 19/100, Loss: 3.1619\n",
      "Epoch 19/100, Loss: 2.9101\n",
      "Epoch 19/100, Loss: 1.4583\n",
      "Epoch 19/100, Loss: 2.1910\n",
      "Epoch 19/100, Loss: 1.7251\n",
      "Epoch 19/100, Loss: 3.1085\n",
      "Epoch 19/100, Loss: 2.3456\n",
      "Epoch 19/100, Loss: 2.1088\n",
      "Epoch 19/100, Loss: 1.5527\n",
      "Epoch 19/100, Loss: 0.9434\n",
      "Epoch 19/100, Loss: 2.4759\n",
      "Epoch 19/100, Loss: 1.7643\n",
      "Epoch 19/100, Loss: 2.4745\n",
      "Epoch 19/100, Loss: 1.8241\n",
      "Epoch 19/100, Loss: 2.3679\n",
      "Epoch 19/100, Loss: 1.9878\n",
      "Epoch 19/100, Loss: 0.9257\n",
      "Epoch 19/100, Loss: 1.2880\n",
      "Epoch 19/100, Loss: 2.5196\n",
      "Epoch 19/100, Loss: 1.2494\n",
      "Epoch 19/100, Loss: 1.7792\n",
      "Epoch 19/100, Loss: 1.6178\n",
      "Epoch 19/100, Loss: 2.1648\n",
      "Epoch 20/100, Loss: 2.3242\n",
      "Epoch 20/100, Loss: 3.0356\n",
      "Epoch 20/100, Loss: 3.0652\n",
      "Epoch 20/100, Loss: 1.5014\n",
      "Epoch 20/100, Loss: 1.4197\n",
      "Epoch 20/100, Loss: 1.7079\n",
      "Epoch 20/100, Loss: 1.2272\n",
      "Epoch 20/100, Loss: 3.0465\n",
      "Epoch 20/100, Loss: 0.8871\n",
      "Epoch 20/100, Loss: 2.4123\n",
      "Epoch 20/100, Loss: 1.6875\n",
      "Epoch 20/100, Loss: 1.5163\n",
      "Epoch 20/100, Loss: 1.1812\n",
      "Epoch 20/100, Loss: 2.4800\n",
      "Epoch 20/100, Loss: 2.7273\n",
      "Epoch 20/100, Loss: 1.9145\n",
      "Epoch 20/100, Loss: 1.2609\n",
      "Epoch 20/100, Loss: 1.3604\n",
      "Epoch 20/100, Loss: 2.9155\n",
      "Epoch 20/100, Loss: 2.1451\n",
      "Epoch 20/100, Loss: 2.7585\n",
      "Epoch 20/100, Loss: 1.7501\n",
      "Epoch 20/100, Loss: 2.5824\n",
      "Epoch 20/100, Loss: 2.2853\n",
      "Epoch 20/100, Loss: 2.0424\n",
      "Epoch 20/100, Loss: 2.0383\n",
      "Epoch 20/100, Loss: 1.4864\n",
      "Epoch 20/100, Loss: 2.1589\n",
      "Epoch 20/100, Loss: 2.4714\n",
      "Epoch 20/100, Loss: 2.3164\n",
      "Epoch 20/100, Loss: 1.8565\n",
      "Epoch 20/100, Loss: 1.9252\n",
      "Epoch 20/100, Loss: 2.0744\n",
      "Epoch 20/100, Loss: 1.0307\n",
      "Epoch 20/100, Loss: 1.4233\n",
      "Epoch 20/100, Loss: 2.6272\n",
      "Epoch 20/100, Loss: 1.2473\n",
      "Epoch 20/100, Loss: 1.9608\n",
      "Epoch 20/100, Loss: 2.4964\n",
      "Epoch 20/100, Loss: 2.0643\n",
      "Epoch 20/100, Loss: 2.1698\n",
      "Epoch 20/100, Loss: 0.9627\n",
      "Epoch 20/100, Loss: 1.1669\n",
      "Epoch 20/100, Loss: 2.4712\n",
      "Epoch 20/100, Loss: 1.1999\n",
      "Epoch 20/100, Loss: 3.0326\n",
      "Epoch 20/100, Loss: 0.9096\n",
      "Epoch 20/100, Loss: 1.6837\n",
      "Epoch 20/100, Loss: 1.1679\n",
      "Epoch 20/100, Loss: 3.3187\n",
      "Epoch 20/100, Loss: 1.7866\n",
      "Epoch 20/100, Loss: 2.4307\n",
      "Epoch 20/100, Loss: 2.7474\n",
      "Epoch 20/100, Loss: 2.5322\n",
      "Epoch 20/100, Loss: 2.7250\n",
      "Epoch 20/100, Loss: 1.7597\n",
      "Epoch 20/100, Loss: 3.2783\n",
      "Epoch 20/100, Loss: 1.6453\n",
      "Epoch 20/100, Loss: 2.1278\n",
      "Epoch 20/100, Loss: 0.8904\n",
      "Epoch 20/100, Loss: 1.7686\n",
      "Epoch 20/100, Loss: 1.8099\n",
      "Epoch 21/100, Loss: 2.4022\n",
      "Epoch 21/100, Loss: 2.0741\n",
      "Epoch 21/100, Loss: 3.2057\n",
      "Epoch 21/100, Loss: 1.9357\n",
      "Epoch 21/100, Loss: 1.8422\n",
      "Epoch 21/100, Loss: 2.3239\n",
      "Epoch 21/100, Loss: 3.0578\n",
      "Epoch 21/100, Loss: 1.3991\n",
      "Epoch 21/100, Loss: 3.0305\n",
      "Epoch 21/100, Loss: 1.8938\n",
      "Epoch 21/100, Loss: 2.9333\n",
      "Epoch 21/100, Loss: 2.0754\n",
      "Epoch 21/100, Loss: 2.2485\n",
      "Epoch 21/100, Loss: 2.3471\n",
      "Epoch 21/100, Loss: 1.3641\n",
      "Epoch 21/100, Loss: 2.6671\n",
      "Epoch 21/100, Loss: 2.7272\n",
      "Epoch 21/100, Loss: 2.1219\n",
      "Epoch 21/100, Loss: 1.3793\n",
      "Epoch 21/100, Loss: 2.4453\n",
      "Epoch 21/100, Loss: 1.8890\n",
      "Epoch 21/100, Loss: 1.3895\n",
      "Epoch 21/100, Loss: 1.6614\n",
      "Epoch 21/100, Loss: 2.6835\n",
      "Epoch 21/100, Loss: 1.3348\n",
      "Epoch 21/100, Loss: 1.6614\n",
      "Epoch 21/100, Loss: 1.7210\n",
      "Epoch 21/100, Loss: 1.8529\n",
      "Epoch 21/100, Loss: 3.1794\n",
      "Epoch 21/100, Loss: 1.6139\n",
      "Epoch 21/100, Loss: 1.7646\n",
      "Epoch 21/100, Loss: 2.5955\n",
      "Epoch 21/100, Loss: 2.8087\n",
      "Epoch 21/100, Loss: 1.5431\n",
      "Epoch 21/100, Loss: 1.0012\n",
      "Epoch 21/100, Loss: 2.3746\n",
      "Epoch 21/100, Loss: 2.3563\n",
      "Epoch 21/100, Loss: 2.0139\n",
      "Epoch 21/100, Loss: 1.2814\n",
      "Epoch 21/100, Loss: 0.9780\n",
      "Epoch 21/100, Loss: 1.2141\n",
      "Epoch 21/100, Loss: 1.7440\n",
      "Epoch 21/100, Loss: 1.5979\n",
      "Epoch 21/100, Loss: 0.9195\n",
      "Epoch 21/100, Loss: 3.1095\n",
      "Epoch 21/100, Loss: 1.1763\n",
      "Epoch 21/100, Loss: 1.4743\n",
      "Epoch 21/100, Loss: 2.9405\n",
      "Epoch 21/100, Loss: 1.4710\n",
      "Epoch 21/100, Loss: 2.1833\n",
      "Epoch 21/100, Loss: 2.0670\n",
      "Epoch 21/100, Loss: 1.1684\n",
      "Epoch 21/100, Loss: 2.4724\n",
      "Epoch 21/100, Loss: 0.8644\n",
      "Epoch 21/100, Loss: 2.5162\n",
      "Epoch 21/100, Loss: 1.7727\n",
      "Epoch 21/100, Loss: 0.8080\n",
      "Epoch 21/100, Loss: 2.0446\n",
      "Epoch 21/100, Loss: 1.6881\n",
      "Epoch 21/100, Loss: 2.4721\n",
      "Epoch 21/100, Loss: 1.6952\n",
      "Epoch 21/100, Loss: 2.5934\n",
      "Epoch 22/100, Loss: 1.1482\n",
      "Epoch 22/100, Loss: 1.1613\n",
      "Epoch 22/100, Loss: 2.7236\n",
      "Epoch 22/100, Loss: 2.0948\n",
      "Epoch 22/100, Loss: 1.6414\n",
      "Epoch 22/100, Loss: 1.5561\n",
      "Epoch 22/100, Loss: 1.4913\n",
      "Epoch 22/100, Loss: 1.8533\n",
      "Epoch 22/100, Loss: 2.4238\n",
      "Epoch 22/100, Loss: 2.0726\n",
      "Epoch 22/100, Loss: 1.6095\n",
      "Epoch 22/100, Loss: 1.1232\n",
      "Epoch 22/100, Loss: 1.5666\n",
      "Epoch 22/100, Loss: 2.1036\n",
      "Epoch 22/100, Loss: 1.0582\n",
      "Epoch 22/100, Loss: 1.0029\n",
      "Epoch 22/100, Loss: 2.9301\n",
      "Epoch 22/100, Loss: 1.4261\n",
      "Epoch 22/100, Loss: 1.7372\n",
      "Epoch 22/100, Loss: 1.3759\n",
      "Epoch 22/100, Loss: 1.6559\n",
      "Epoch 22/100, Loss: 2.7202\n",
      "Epoch 22/100, Loss: 2.3122\n",
      "Epoch 22/100, Loss: 2.4524\n",
      "Epoch 22/100, Loss: 2.3421\n",
      "Epoch 22/100, Loss: 1.7077\n",
      "Epoch 22/100, Loss: 1.6657\n",
      "Epoch 22/100, Loss: 2.0263\n",
      "Epoch 22/100, Loss: 2.0716\n",
      "Epoch 22/100, Loss: 3.1343\n",
      "Epoch 22/100, Loss: 3.1667\n",
      "Epoch 22/100, Loss: 1.9727\n",
      "Epoch 22/100, Loss: 1.7289\n",
      "Epoch 22/100, Loss: 0.8555\n",
      "Epoch 22/100, Loss: 1.4046\n",
      "Epoch 22/100, Loss: 0.8113\n",
      "Epoch 22/100, Loss: 1.9347\n",
      "Epoch 22/100, Loss: 3.0104\n",
      "Epoch 22/100, Loss: 2.1801\n",
      "Epoch 22/100, Loss: 2.3884\n",
      "Epoch 22/100, Loss: 2.4606\n",
      "Epoch 22/100, Loss: 2.4012\n",
      "Epoch 22/100, Loss: 1.9143\n",
      "Epoch 22/100, Loss: 3.2290\n",
      "Epoch 22/100, Loss: 2.7645\n",
      "Epoch 22/100, Loss: 3.0621\n",
      "Epoch 22/100, Loss: 2.2928\n",
      "Epoch 22/100, Loss: 1.3617\n",
      "Epoch 22/100, Loss: 0.8499\n",
      "Epoch 22/100, Loss: 0.7973\n",
      "Epoch 22/100, Loss: 1.1974\n",
      "Epoch 22/100, Loss: 1.8049\n",
      "Epoch 22/100, Loss: 0.7701\n",
      "Epoch 22/100, Loss: 2.0459\n",
      "Epoch 22/100, Loss: 3.3151\n",
      "Epoch 22/100, Loss: 2.4966\n",
      "Epoch 22/100, Loss: 1.8177\n",
      "Epoch 22/100, Loss: 3.1204\n",
      "Epoch 22/100, Loss: 2.4789\n",
      "Epoch 22/100, Loss: 1.5426\n",
      "Epoch 22/100, Loss: 2.5413\n",
      "Epoch 22/100, Loss: 2.5301\n",
      "Epoch 23/100, Loss: 0.8015\n",
      "Epoch 23/100, Loss: 1.8389\n",
      "Epoch 23/100, Loss: 1.3723\n",
      "Epoch 23/100, Loss: 1.6283\n",
      "Epoch 23/100, Loss: 2.0819\n",
      "Epoch 23/100, Loss: 2.2612\n",
      "Epoch 23/100, Loss: 2.3640\n",
      "Epoch 23/100, Loss: 2.3770\n",
      "Epoch 23/100, Loss: 2.3673\n",
      "Epoch 23/100, Loss: 2.9557\n",
      "Epoch 23/100, Loss: 2.2852\n",
      "Epoch 23/100, Loss: 2.6755\n",
      "Epoch 23/100, Loss: 1.6775\n",
      "Epoch 23/100, Loss: 1.9069\n",
      "Epoch 23/100, Loss: 1.5668\n",
      "Epoch 23/100, Loss: 3.0379\n",
      "Epoch 23/100, Loss: 3.2541\n",
      "Epoch 23/100, Loss: 1.3388\n",
      "Epoch 23/100, Loss: 2.6942\n",
      "Epoch 23/100, Loss: 1.3678\n",
      "Epoch 23/100, Loss: 1.9635\n",
      "Epoch 23/100, Loss: 1.5544\n",
      "Epoch 23/100, Loss: 2.1463\n",
      "Epoch 23/100, Loss: 0.7998\n",
      "Epoch 23/100, Loss: 1.5849\n",
      "Epoch 23/100, Loss: 3.0972\n",
      "Epoch 23/100, Loss: 1.3267\n",
      "Epoch 23/100, Loss: 2.0849\n",
      "Epoch 23/100, Loss: 1.5370\n",
      "Epoch 23/100, Loss: 1.6333\n",
      "Epoch 23/100, Loss: 3.0691\n",
      "Epoch 23/100, Loss: 2.9862\n",
      "Epoch 23/100, Loss: 2.3201\n",
      "Epoch 23/100, Loss: 1.3884\n",
      "Epoch 23/100, Loss: 1.2867\n",
      "Epoch 23/100, Loss: 1.5226\n",
      "Epoch 23/100, Loss: 1.1670\n",
      "Epoch 23/100, Loss: 2.7863\n",
      "Epoch 23/100, Loss: 1.4370\n",
      "Epoch 23/100, Loss: 2.9239\n",
      "Epoch 23/100, Loss: 1.8612\n",
      "Epoch 23/100, Loss: 1.7902\n",
      "Epoch 23/100, Loss: 1.2236\n",
      "Epoch 23/100, Loss: 2.4445\n",
      "Epoch 23/100, Loss: 3.2773\n",
      "Epoch 23/100, Loss: 1.8430\n",
      "Epoch 23/100, Loss: 2.0361\n",
      "Epoch 23/100, Loss: 2.4675\n",
      "Epoch 23/100, Loss: 2.0933\n",
      "Epoch 23/100, Loss: 1.1895\n",
      "Epoch 23/100, Loss: 2.3636\n",
      "Epoch 23/100, Loss: 0.9208\n",
      "Epoch 23/100, Loss: 1.3593\n",
      "Epoch 23/100, Loss: 2.0305\n",
      "Epoch 23/100, Loss: 1.7625\n",
      "Epoch 23/100, Loss: 0.8589\n",
      "Epoch 23/100, Loss: 2.3641\n",
      "Epoch 23/100, Loss: 2.4285\n",
      "Epoch 23/100, Loss: 2.0377\n",
      "Epoch 23/100, Loss: 2.4033\n",
      "Epoch 23/100, Loss: 1.6499\n",
      "Epoch 23/100, Loss: 0.8472\n",
      "Epoch 24/100, Loss: 1.5788\n",
      "Epoch 24/100, Loss: 2.0183\n",
      "Epoch 24/100, Loss: 1.9287\n",
      "Epoch 24/100, Loss: 1.2155\n",
      "Epoch 24/100, Loss: 2.7229\n",
      "Epoch 24/100, Loss: 2.9008\n",
      "Epoch 24/100, Loss: 2.6485\n",
      "Epoch 24/100, Loss: 1.2741\n",
      "Epoch 24/100, Loss: 2.2511\n",
      "Epoch 24/100, Loss: 1.5941\n",
      "Epoch 24/100, Loss: 1.6135\n",
      "Epoch 24/100, Loss: 1.6530\n",
      "Epoch 24/100, Loss: 1.3779\n",
      "Epoch 24/100, Loss: 1.1616\n",
      "Epoch 24/100, Loss: 2.3335\n",
      "Epoch 24/100, Loss: 1.1784\n",
      "Epoch 24/100, Loss: 1.7008\n",
      "Epoch 24/100, Loss: 1.3804\n",
      "Epoch 24/100, Loss: 2.8022\n",
      "Epoch 24/100, Loss: 3.1111\n",
      "Epoch 24/100, Loss: 1.6673\n",
      "Epoch 24/100, Loss: 0.8840\n",
      "Epoch 24/100, Loss: 0.8278\n",
      "Epoch 24/100, Loss: 1.1419\n",
      "Epoch 24/100, Loss: 2.2536\n",
      "Epoch 24/100, Loss: 3.2359\n",
      "Epoch 24/100, Loss: 2.4182\n",
      "Epoch 24/100, Loss: 3.2775\n",
      "Epoch 24/100, Loss: 0.8160\n",
      "Epoch 24/100, Loss: 1.9684\n",
      "Epoch 24/100, Loss: 2.2768\n",
      "Epoch 24/100, Loss: 1.9206\n",
      "Epoch 24/100, Loss: 1.1242\n",
      "Epoch 24/100, Loss: 0.7552\n",
      "Epoch 24/100, Loss: 1.7884\n",
      "Epoch 24/100, Loss: 1.6964\n",
      "Epoch 24/100, Loss: 2.0803\n",
      "Epoch 24/100, Loss: 2.1707\n",
      "Epoch 24/100, Loss: 1.6990\n",
      "Epoch 24/100, Loss: 1.5233\n",
      "Epoch 24/100, Loss: 2.1317\n",
      "Epoch 24/100, Loss: 1.6013\n",
      "Epoch 24/100, Loss: 2.4252\n",
      "Epoch 24/100, Loss: 1.9608\n",
      "Epoch 24/100, Loss: 2.4623\n",
      "Epoch 24/100, Loss: 2.4609\n",
      "Epoch 24/100, Loss: 3.1085\n",
      "Epoch 24/100, Loss: 2.6957\n",
      "Epoch 24/100, Loss: 1.1621\n",
      "Epoch 24/100, Loss: 2.4570\n",
      "Epoch 24/100, Loss: 1.9793\n",
      "Epoch 24/100, Loss: 3.1925\n",
      "Epoch 24/100, Loss: 1.4470\n",
      "Epoch 24/100, Loss: 1.9939\n",
      "Epoch 24/100, Loss: 2.4054\n",
      "Epoch 24/100, Loss: 0.7453\n",
      "Epoch 24/100, Loss: 3.0835\n",
      "Epoch 24/100, Loss: 2.5529\n",
      "Epoch 24/100, Loss: 1.4723\n",
      "Epoch 24/100, Loss: 1.8876\n",
      "Epoch 24/100, Loss: 2.4487\n",
      "Epoch 24/100, Loss: 1.4026\n",
      "Epoch 25/100, Loss: 2.1115\n",
      "Epoch 25/100, Loss: 3.1845\n",
      "Epoch 25/100, Loss: 1.5336\n",
      "Epoch 25/100, Loss: 2.3415\n",
      "Epoch 25/100, Loss: 1.2377\n",
      "Epoch 25/100, Loss: 2.2596\n",
      "Epoch 25/100, Loss: 0.8006\n",
      "Epoch 25/100, Loss: 2.6406\n",
      "Epoch 25/100, Loss: 2.4162\n",
      "Epoch 25/100, Loss: 1.6758\n",
      "Epoch 25/100, Loss: 1.6466\n",
      "Epoch 25/100, Loss: 1.6020\n",
      "Epoch 25/100, Loss: 2.6954\n",
      "Epoch 25/100, Loss: 1.4307\n",
      "Epoch 25/100, Loss: 1.2648\n",
      "Epoch 25/100, Loss: 1.2147\n",
      "Epoch 25/100, Loss: 1.4965\n",
      "Epoch 25/100, Loss: 1.6288\n",
      "Epoch 25/100, Loss: 0.7660\n",
      "Epoch 25/100, Loss: 2.8948\n",
      "Epoch 25/100, Loss: 2.2829\n",
      "Epoch 25/100, Loss: 3.1110\n",
      "Epoch 25/100, Loss: 1.8292\n",
      "Epoch 25/100, Loss: 3.0180\n",
      "Epoch 25/100, Loss: 2.1763\n",
      "Epoch 25/100, Loss: 1.9613\n",
      "Epoch 25/100, Loss: 1.2537\n",
      "Epoch 25/100, Loss: 1.7183\n",
      "Epoch 25/100, Loss: 0.7185\n",
      "Epoch 25/100, Loss: 1.6984\n",
      "Epoch 25/100, Loss: 3.0189\n",
      "Epoch 25/100, Loss: 1.8008\n",
      "Epoch 25/100, Loss: 0.6759\n",
      "Epoch 25/100, Loss: 1.5693\n",
      "Epoch 25/100, Loss: 1.1582\n",
      "Epoch 25/100, Loss: 2.2140\n",
      "Epoch 25/100, Loss: 1.9972\n",
      "Epoch 25/100, Loss: 1.2580\n",
      "Epoch 25/100, Loss: 1.1915\n",
      "Epoch 25/100, Loss: 1.1284\n",
      "Epoch 25/100, Loss: 2.4752\n",
      "Epoch 25/100, Loss: 2.5435\n",
      "Epoch 25/100, Loss: 2.1279\n",
      "Epoch 25/100, Loss: 2.4609\n",
      "Epoch 25/100, Loss: 1.9924\n",
      "Epoch 25/100, Loss: 1.6672\n",
      "Epoch 25/100, Loss: 2.6314\n",
      "Epoch 25/100, Loss: 3.1511\n",
      "Epoch 25/100, Loss: 2.3810\n",
      "Epoch 25/100, Loss: 1.6824\n",
      "Epoch 25/100, Loss: 2.0163\n",
      "Epoch 25/100, Loss: 2.4291\n",
      "Epoch 25/100, Loss: 2.2699\n",
      "Epoch 25/100, Loss: 1.4370\n",
      "Epoch 25/100, Loss: 3.3516\n",
      "Epoch 25/100, Loss: 2.0322\n",
      "Epoch 25/100, Loss: 2.8529\n",
      "Epoch 25/100, Loss: 2.4686\n",
      "Epoch 25/100, Loss: 0.8822\n",
      "Epoch 25/100, Loss: 1.9527\n",
      "Epoch 25/100, Loss: 1.4109\n",
      "Epoch 25/100, Loss: 1.5073\n",
      "Epoch 26/100, Loss: 1.8253\n",
      "Epoch 26/100, Loss: 2.2887\n",
      "Epoch 26/100, Loss: 1.2047\n",
      "Epoch 26/100, Loss: 2.3042\n",
      "Epoch 26/100, Loss: 2.2842\n",
      "Epoch 26/100, Loss: 1.3395\n",
      "Epoch 26/100, Loss: 3.0457\n",
      "Epoch 26/100, Loss: 1.8692\n",
      "Epoch 26/100, Loss: 2.3883\n",
      "Epoch 26/100, Loss: 3.2089\n",
      "Epoch 26/100, Loss: 1.4673\n",
      "Epoch 26/100, Loss: 2.1488\n",
      "Epoch 26/100, Loss: 1.2592\n",
      "Epoch 26/100, Loss: 1.6540\n",
      "Epoch 26/100, Loss: 1.8216\n",
      "Epoch 26/100, Loss: 2.3451\n",
      "Epoch 26/100, Loss: 1.5966\n",
      "Epoch 26/100, Loss: 2.2561\n",
      "Epoch 26/100, Loss: 2.9478\n",
      "Epoch 26/100, Loss: 0.9133\n",
      "Epoch 26/100, Loss: 1.4365\n",
      "Epoch 26/100, Loss: 1.7913\n",
      "Epoch 26/100, Loss: 2.8860\n",
      "Epoch 26/100, Loss: 2.3351\n",
      "Epoch 26/100, Loss: 2.3547\n",
      "Epoch 26/100, Loss: 1.5217\n",
      "Epoch 26/100, Loss: 2.9136\n",
      "Epoch 26/100, Loss: 3.0513\n",
      "Epoch 26/100, Loss: 1.9066\n",
      "Epoch 26/100, Loss: 2.0778\n",
      "Epoch 26/100, Loss: 2.1349\n",
      "Epoch 26/100, Loss: 1.2982\n",
      "Epoch 26/100, Loss: 1.9897\n",
      "Epoch 26/100, Loss: 2.7857\n",
      "Epoch 26/100, Loss: 1.5931\n",
      "Epoch 26/100, Loss: 2.2616\n",
      "Epoch 26/100, Loss: 2.2347\n",
      "Epoch 26/100, Loss: 3.2192\n",
      "Epoch 26/100, Loss: 1.7274\n",
      "Epoch 26/100, Loss: 1.5979\n",
      "Epoch 26/100, Loss: 2.2040\n",
      "Epoch 26/100, Loss: 3.0150\n",
      "Epoch 26/100, Loss: 1.6120\n",
      "Epoch 26/100, Loss: 2.6775\n",
      "Epoch 26/100, Loss: 1.2921\n",
      "Epoch 26/100, Loss: 1.6306\n",
      "Epoch 26/100, Loss: 1.3342\n",
      "Epoch 26/100, Loss: 1.0880\n",
      "Epoch 26/100, Loss: 1.2223\n",
      "Epoch 26/100, Loss: 1.3838\n",
      "Epoch 26/100, Loss: 1.7179\n",
      "Epoch 26/100, Loss: 1.3828\n",
      "Epoch 26/100, Loss: 2.4188\n",
      "Epoch 26/100, Loss: 1.0107\n",
      "Epoch 26/100, Loss: 1.9680\n",
      "Epoch 26/100, Loss: 0.9440\n",
      "Epoch 26/100, Loss: 0.8820\n",
      "Epoch 26/100, Loss: 1.2320\n",
      "Epoch 26/100, Loss: 2.0445\n",
      "Epoch 26/100, Loss: 0.8241\n",
      "Epoch 26/100, Loss: 1.7144\n",
      "Epoch 26/100, Loss: 2.8056\n",
      "Epoch 27/100, Loss: 2.1160\n",
      "Epoch 27/100, Loss: 1.1704\n",
      "Epoch 27/100, Loss: 3.0991\n",
      "Epoch 27/100, Loss: 1.0426\n",
      "Epoch 27/100, Loss: 2.4017\n",
      "Epoch 27/100, Loss: 1.9060\n",
      "Epoch 27/100, Loss: 1.8818\n",
      "Epoch 27/100, Loss: 2.0819\n",
      "Epoch 27/100, Loss: 2.6418\n",
      "Epoch 27/100, Loss: 2.9558\n",
      "Epoch 27/100, Loss: 1.6014\n",
      "Epoch 27/100, Loss: 1.4987\n",
      "Epoch 27/100, Loss: 1.6430\n",
      "Epoch 27/100, Loss: 3.2152\n",
      "Epoch 27/100, Loss: 0.8760\n",
      "Epoch 27/100, Loss: 2.2775\n",
      "Epoch 27/100, Loss: 1.2410\n",
      "Epoch 27/100, Loss: 1.5451\n",
      "Epoch 27/100, Loss: 2.3667\n",
      "Epoch 27/100, Loss: 2.6264\n",
      "Epoch 27/100, Loss: 0.8670\n",
      "Epoch 27/100, Loss: 1.6098\n",
      "Epoch 27/100, Loss: 1.9071\n",
      "Epoch 27/100, Loss: 2.3830\n",
      "Epoch 27/100, Loss: 1.2957\n",
      "Epoch 27/100, Loss: 1.1973\n",
      "Epoch 27/100, Loss: 1.6914\n",
      "Epoch 27/100, Loss: 2.0522\n",
      "Epoch 27/100, Loss: 2.7932\n",
      "Epoch 27/100, Loss: 3.2307\n",
      "Epoch 27/100, Loss: 3.0115\n",
      "Epoch 27/100, Loss: 1.4241\n",
      "Epoch 27/100, Loss: 2.2088\n",
      "Epoch 27/100, Loss: 1.7114\n",
      "Epoch 27/100, Loss: 0.8081\n",
      "Epoch 27/100, Loss: 1.5526\n",
      "Epoch 27/100, Loss: 1.8623\n",
      "Epoch 27/100, Loss: 1.5890\n",
      "Epoch 27/100, Loss: 2.9118\n",
      "Epoch 27/100, Loss: 1.8366\n",
      "Epoch 27/100, Loss: 0.7731\n",
      "Epoch 27/100, Loss: 1.1976\n",
      "Epoch 27/100, Loss: 2.3406\n",
      "Epoch 27/100, Loss: 1.8154\n",
      "Epoch 27/100, Loss: 2.3486\n",
      "Epoch 27/100, Loss: 3.0644\n",
      "Epoch 27/100, Loss: 1.4261\n",
      "Epoch 27/100, Loss: 2.9765\n",
      "Epoch 27/100, Loss: 0.7663\n",
      "Epoch 27/100, Loss: 1.2989\n",
      "Epoch 27/100, Loss: 1.9971\n",
      "Epoch 27/100, Loss: 2.4128\n",
      "Epoch 27/100, Loss: 2.1833\n",
      "Epoch 27/100, Loss: 1.9116\n",
      "Epoch 27/100, Loss: 1.6158\n",
      "Epoch 27/100, Loss: 2.2865\n",
      "Epoch 27/100, Loss: 1.6705\n",
      "Epoch 27/100, Loss: 1.2848\n",
      "Epoch 27/100, Loss: 1.4858\n",
      "Epoch 27/100, Loss: 1.2033\n",
      "Epoch 27/100, Loss: 2.4873\n",
      "Epoch 27/100, Loss: 2.4597\n",
      "Epoch 28/100, Loss: 3.2575\n",
      "Epoch 28/100, Loss: 2.3793\n",
      "Epoch 28/100, Loss: 1.3020\n",
      "Epoch 28/100, Loss: 1.5208\n",
      "Epoch 28/100, Loss: 2.8603\n",
      "Epoch 28/100, Loss: 1.8876\n",
      "Epoch 28/100, Loss: 2.8033\n",
      "Epoch 28/100, Loss: 1.8367\n",
      "Epoch 28/100, Loss: 1.6261\n",
      "Epoch 28/100, Loss: 2.2721\n",
      "Epoch 28/100, Loss: 1.8985\n",
      "Epoch 28/100, Loss: 2.2875\n",
      "Epoch 28/100, Loss: 1.1767\n",
      "Epoch 28/100, Loss: 2.6561\n",
      "Epoch 28/100, Loss: 0.9332\n",
      "Epoch 28/100, Loss: 2.2201\n",
      "Epoch 28/100, Loss: 1.9144\n",
      "Epoch 28/100, Loss: 1.9384\n",
      "Epoch 28/100, Loss: 1.8224\n",
      "Epoch 28/100, Loss: 2.2209\n",
      "Epoch 28/100, Loss: 1.7854\n",
      "Epoch 28/100, Loss: 1.7454\n",
      "Epoch 28/100, Loss: 3.0675\n",
      "Epoch 28/100, Loss: 1.3372\n",
      "Epoch 28/100, Loss: 2.2396\n",
      "Epoch 28/100, Loss: 1.5061\n",
      "Epoch 28/100, Loss: 1.5464\n",
      "Epoch 28/100, Loss: 0.8545\n",
      "Epoch 28/100, Loss: 1.4380\n",
      "Epoch 28/100, Loss: 1.7758\n",
      "Epoch 28/100, Loss: 3.0146\n",
      "Epoch 28/100, Loss: 1.9825\n",
      "Epoch 28/100, Loss: 0.8436\n",
      "Epoch 28/100, Loss: 2.3320\n",
      "Epoch 28/100, Loss: 2.0019\n",
      "Epoch 28/100, Loss: 2.4113\n",
      "Epoch 28/100, Loss: 1.3487\n",
      "Epoch 28/100, Loss: 1.3941\n",
      "Epoch 28/100, Loss: 1.6689\n",
      "Epoch 28/100, Loss: 2.4764\n",
      "Epoch 28/100, Loss: 2.4482\n",
      "Epoch 28/100, Loss: 3.2582\n",
      "Epoch 28/100, Loss: 1.5621\n",
      "Epoch 28/100, Loss: 2.7562\n",
      "Epoch 28/100, Loss: 1.2656\n",
      "Epoch 28/100, Loss: 1.2822\n",
      "Epoch 28/100, Loss: 1.6169\n",
      "Epoch 28/100, Loss: 3.0851\n",
      "Epoch 28/100, Loss: 0.8317\n",
      "Epoch 28/100, Loss: 1.2398\n",
      "Epoch 28/100, Loss: 0.7777\n",
      "Epoch 28/100, Loss: 1.6410\n",
      "Epoch 28/100, Loss: 3.0726\n",
      "Epoch 28/100, Loss: 2.1570\n",
      "Epoch 28/100, Loss: 1.5970\n",
      "Epoch 28/100, Loss: 1.1917\n",
      "Epoch 28/100, Loss: 1.5417\n",
      "Epoch 28/100, Loss: 2.6548\n",
      "Epoch 28/100, Loss: 1.3276\n",
      "Epoch 28/100, Loss: 2.2226\n",
      "Epoch 28/100, Loss: 1.1048\n",
      "Epoch 28/100, Loss: 2.2261\n",
      "Epoch 29/100, Loss: 2.9796\n",
      "Epoch 29/100, Loss: 1.4747\n",
      "Epoch 29/100, Loss: 1.3145\n",
      "Epoch 29/100, Loss: 1.9488\n",
      "Epoch 29/100, Loss: 2.1881\n",
      "Epoch 29/100, Loss: 1.7541\n",
      "Epoch 29/100, Loss: 2.0554\n",
      "Epoch 29/100, Loss: 1.1901\n",
      "Epoch 29/100, Loss: 0.7229\n",
      "Epoch 29/100, Loss: 1.1252\n",
      "Epoch 29/100, Loss: 2.0824\n",
      "Epoch 29/100, Loss: 1.2154\n",
      "Epoch 29/100, Loss: 2.4147\n",
      "Epoch 29/100, Loss: 1.5395\n",
      "Epoch 29/100, Loss: 2.3663\n",
      "Epoch 29/100, Loss: 2.6086\n",
      "Epoch 29/100, Loss: 1.4400\n",
      "Epoch 29/100, Loss: 1.6134\n",
      "Epoch 29/100, Loss: 3.1118\n",
      "Epoch 29/100, Loss: 0.7684\n",
      "Epoch 29/100, Loss: 2.3083\n",
      "Epoch 29/100, Loss: 2.2275\n",
      "Epoch 29/100, Loss: 2.2272\n",
      "Epoch 29/100, Loss: 3.0558\n",
      "Epoch 29/100, Loss: 1.2651\n",
      "Epoch 29/100, Loss: 1.1589\n",
      "Epoch 29/100, Loss: 1.8398\n",
      "Epoch 29/100, Loss: 2.2542\n",
      "Epoch 29/100, Loss: 1.3562\n",
      "Epoch 29/100, Loss: 2.2393\n",
      "Epoch 29/100, Loss: 1.6543\n",
      "Epoch 29/100, Loss: 1.9496\n",
      "Epoch 29/100, Loss: 1.9040\n",
      "Epoch 29/100, Loss: 1.3314\n",
      "Epoch 29/100, Loss: 3.3844\n",
      "Epoch 29/100, Loss: 1.4446\n",
      "Epoch 29/100, Loss: 2.4672\n",
      "Epoch 29/100, Loss: 1.1085\n",
      "Epoch 29/100, Loss: 3.2661\n",
      "Epoch 29/100, Loss: 1.6249\n",
      "Epoch 29/100, Loss: 3.0280\n",
      "Epoch 29/100, Loss: 2.4319\n",
      "Epoch 29/100, Loss: 2.4644\n",
      "Epoch 29/100, Loss: 1.4799\n",
      "Epoch 29/100, Loss: 1.6340\n",
      "Epoch 29/100, Loss: 1.5450\n",
      "Epoch 29/100, Loss: 1.9341\n",
      "Epoch 29/100, Loss: 2.6627\n",
      "Epoch 29/100, Loss: 1.5914\n",
      "Epoch 29/100, Loss: 0.7927\n",
      "Epoch 29/100, Loss: 2.3926\n",
      "Epoch 29/100, Loss: 1.7565\n",
      "Epoch 29/100, Loss: 2.9097\n",
      "Epoch 29/100, Loss: 2.0067\n",
      "Epoch 29/100, Loss: 1.2419\n",
      "Epoch 29/100, Loss: 1.8459\n",
      "Epoch 29/100, Loss: 2.9047\n",
      "Epoch 29/100, Loss: 0.8355\n",
      "Epoch 29/100, Loss: 1.8069\n",
      "Epoch 29/100, Loss: 0.7813\n",
      "Epoch 29/100, Loss: 2.7862\n",
      "Epoch 29/100, Loss: 1.1969\n",
      "Epoch 30/100, Loss: 1.6565\n",
      "Epoch 30/100, Loss: 1.1317\n",
      "Epoch 30/100, Loss: 1.3128\n",
      "Epoch 30/100, Loss: 2.6994\n",
      "Epoch 30/100, Loss: 2.5996\n",
      "Epoch 30/100, Loss: 2.4201\n",
      "Epoch 30/100, Loss: 1.8815\n",
      "Epoch 30/100, Loss: 1.3048\n",
      "Epoch 30/100, Loss: 1.5318\n",
      "Epoch 30/100, Loss: 2.9939\n",
      "Epoch 30/100, Loss: 1.4476\n",
      "Epoch 30/100, Loss: 2.1968\n",
      "Epoch 30/100, Loss: 3.0897\n",
      "Epoch 30/100, Loss: 0.8339\n",
      "Epoch 30/100, Loss: 1.8418\n",
      "Epoch 30/100, Loss: 1.5679\n",
      "Epoch 30/100, Loss: 0.7735\n",
      "Epoch 30/100, Loss: 2.3652\n",
      "Epoch 30/100, Loss: 1.1878\n",
      "Epoch 30/100, Loss: 3.1998\n",
      "Epoch 30/100, Loss: 1.2190\n",
      "Epoch 30/100, Loss: 2.0197\n",
      "Epoch 30/100, Loss: 2.1829\n",
      "Epoch 30/100, Loss: 1.9192\n",
      "Epoch 30/100, Loss: 1.2246\n",
      "Epoch 30/100, Loss: 0.7196\n",
      "Epoch 30/100, Loss: 2.2947\n",
      "Epoch 30/100, Loss: 2.3866\n",
      "Epoch 30/100, Loss: 0.6645\n",
      "Epoch 30/100, Loss: 2.3205\n",
      "Epoch 30/100, Loss: 3.0222\n",
      "Epoch 30/100, Loss: 1.7163\n",
      "Epoch 30/100, Loss: 1.2103\n",
      "Epoch 30/100, Loss: 0.6261\n",
      "Epoch 30/100, Loss: 2.5698\n",
      "Epoch 30/100, Loss: 2.5447\n",
      "Epoch 30/100, Loss: 1.5716\n",
      "Epoch 30/100, Loss: 1.9231\n",
      "Epoch 30/100, Loss: 1.4586\n",
      "Epoch 30/100, Loss: 3.0791\n",
      "Epoch 30/100, Loss: 3.4442\n",
      "Epoch 30/100, Loss: 2.8587\n",
      "Epoch 30/100, Loss: 1.4743\n",
      "Epoch 30/100, Loss: 1.4869\n",
      "Epoch 30/100, Loss: 1.6842\n",
      "Epoch 30/100, Loss: 1.6204\n",
      "Epoch 30/100, Loss: 1.3202\n",
      "Epoch 30/100, Loss: 2.0626\n",
      "Epoch 30/100, Loss: 1.1623\n",
      "Epoch 30/100, Loss: 2.9274\n",
      "Epoch 30/100, Loss: 2.4945\n",
      "Epoch 30/100, Loss: 1.5798\n",
      "Epoch 30/100, Loss: 1.0690\n",
      "Epoch 30/100, Loss: 2.4990\n",
      "Epoch 30/100, Loss: 1.8185\n",
      "Epoch 30/100, Loss: 1.2591\n",
      "Epoch 30/100, Loss: 2.0110\n",
      "Epoch 30/100, Loss: 2.2132\n",
      "Epoch 30/100, Loss: 1.4358\n",
      "Epoch 30/100, Loss: 2.1309\n",
      "Epoch 30/100, Loss: 2.2217\n",
      "Epoch 30/100, Loss: 1.9264\n",
      "Epoch 31/100, Loss: 2.9694\n",
      "Epoch 31/100, Loss: 0.7606\n",
      "Epoch 31/100, Loss: 2.8564\n",
      "Epoch 31/100, Loss: 2.1690\n",
      "Epoch 31/100, Loss: 1.1642\n",
      "Epoch 31/100, Loss: 0.9549\n",
      "Epoch 31/100, Loss: 0.7548\n",
      "Epoch 31/100, Loss: 1.5963\n",
      "Epoch 31/100, Loss: 1.3202\n",
      "Epoch 31/100, Loss: 1.3799\n",
      "Epoch 31/100, Loss: 2.5581\n",
      "Epoch 31/100, Loss: 0.6921\n",
      "Epoch 31/100, Loss: 1.5101\n",
      "Epoch 31/100, Loss: 1.3571\n",
      "Epoch 31/100, Loss: 1.0940\n",
      "Epoch 31/100, Loss: 2.1389\n",
      "Epoch 31/100, Loss: 2.0422\n",
      "Epoch 31/100, Loss: 2.1302\n",
      "Epoch 31/100, Loss: 1.4559\n",
      "Epoch 31/100, Loss: 2.6316\n",
      "Epoch 31/100, Loss: 2.8392\n",
      "Epoch 31/100, Loss: 1.0515\n",
      "Epoch 31/100, Loss: 0.9944\n",
      "Epoch 31/100, Loss: 2.0011\n",
      "Epoch 31/100, Loss: 1.5408\n",
      "Epoch 31/100, Loss: 3.4088\n",
      "Epoch 31/100, Loss: 1.3351\n",
      "Epoch 31/100, Loss: 2.1027\n",
      "Epoch 31/100, Loss: 2.5143\n",
      "Epoch 31/100, Loss: 2.3524\n",
      "Epoch 31/100, Loss: 2.2332\n",
      "Epoch 31/100, Loss: 2.1778\n",
      "Epoch 31/100, Loss: 1.7048\n",
      "Epoch 31/100, Loss: 1.7161\n",
      "Epoch 31/100, Loss: 1.6277\n",
      "Epoch 31/100, Loss: 3.1959\n",
      "Epoch 31/100, Loss: 1.6563\n",
      "Epoch 31/100, Loss: 1.2159\n",
      "Epoch 31/100, Loss: 1.6714\n",
      "Epoch 31/100, Loss: 1.3359\n",
      "Epoch 31/100, Loss: 3.0627\n",
      "Epoch 31/100, Loss: 1.8888\n",
      "Epoch 31/100, Loss: 0.6844\n",
      "Epoch 31/100, Loss: 2.4192\n",
      "Epoch 31/100, Loss: 2.7619\n",
      "Epoch 31/100, Loss: 1.9282\n",
      "Epoch 31/100, Loss: 2.4412\n",
      "Epoch 31/100, Loss: 2.5367\n",
      "Epoch 31/100, Loss: 1.1385\n",
      "Epoch 31/100, Loss: 0.7406\n",
      "Epoch 31/100, Loss: 2.0148\n",
      "Epoch 31/100, Loss: 1.6475\n",
      "Epoch 31/100, Loss: 2.4841\n",
      "Epoch 31/100, Loss: 1.4837\n",
      "Epoch 31/100, Loss: 1.4733\n",
      "Epoch 31/100, Loss: 1.8578\n",
      "Epoch 31/100, Loss: 1.8839\n",
      "Epoch 31/100, Loss: 1.9428\n",
      "Epoch 31/100, Loss: 2.3398\n",
      "Epoch 31/100, Loss: 3.2867\n",
      "Epoch 31/100, Loss: 1.5833\n",
      "Epoch 31/100, Loss: 3.0662\n",
      "Epoch 32/100, Loss: 0.7860\n",
      "Epoch 32/100, Loss: 1.7947\n",
      "Epoch 32/100, Loss: 2.3599\n",
      "Epoch 32/100, Loss: 0.9992\n",
      "Epoch 32/100, Loss: 2.8190\n",
      "Epoch 32/100, Loss: 1.9274\n",
      "Epoch 32/100, Loss: 1.8347\n",
      "Epoch 32/100, Loss: 2.8142\n",
      "Epoch 32/100, Loss: 2.6549\n",
      "Epoch 32/100, Loss: 1.6714\n",
      "Epoch 32/100, Loss: 2.3582\n",
      "Epoch 32/100, Loss: 2.5871\n",
      "Epoch 32/100, Loss: 1.3368\n",
      "Epoch 32/100, Loss: 2.3154\n",
      "Epoch 32/100, Loss: 1.9899\n",
      "Epoch 32/100, Loss: 0.8348\n",
      "Epoch 32/100, Loss: 1.6504\n",
      "Epoch 32/100, Loss: 1.4148\n",
      "Epoch 32/100, Loss: 1.5439\n",
      "Epoch 32/100, Loss: 1.7366\n",
      "Epoch 32/100, Loss: 1.3784\n",
      "Epoch 32/100, Loss: 3.3120\n",
      "Epoch 32/100, Loss: 1.2556\n",
      "Epoch 32/100, Loss: 2.9578\n",
      "Epoch 32/100, Loss: 1.7431\n",
      "Epoch 32/100, Loss: 2.2079\n",
      "Epoch 32/100, Loss: 1.3442\n",
      "Epoch 32/100, Loss: 2.1766\n",
      "Epoch 32/100, Loss: 3.0554\n",
      "Epoch 32/100, Loss: 1.8857\n",
      "Epoch 32/100, Loss: 1.3477\n",
      "Epoch 32/100, Loss: 2.9955\n",
      "Epoch 32/100, Loss: 2.3427\n",
      "Epoch 32/100, Loss: 2.2735\n",
      "Epoch 32/100, Loss: 1.5314\n",
      "Epoch 32/100, Loss: 1.3071\n",
      "Epoch 32/100, Loss: 1.4137\n",
      "Epoch 32/100, Loss: 1.2394\n",
      "Epoch 32/100, Loss: 1.5642\n",
      "Epoch 32/100, Loss: 1.9656\n",
      "Epoch 32/100, Loss: 2.2107\n",
      "Epoch 32/100, Loss: 1.2166\n",
      "Epoch 32/100, Loss: 2.4101\n",
      "Epoch 32/100, Loss: 1.7018\n",
      "Epoch 32/100, Loss: 2.6991\n",
      "Epoch 32/100, Loss: 1.3813\n",
      "Epoch 32/100, Loss: 1.5458\n",
      "Epoch 32/100, Loss: 3.2660\n",
      "Epoch 32/100, Loss: 3.0426\n",
      "Epoch 32/100, Loss: 1.7959\n",
      "Epoch 32/100, Loss: 1.2946\n",
      "Epoch 32/100, Loss: 2.2368\n",
      "Epoch 32/100, Loss: 1.8891\n",
      "Epoch 32/100, Loss: 1.2026\n",
      "Epoch 32/100, Loss: 0.9182\n",
      "Epoch 32/100, Loss: 0.8558\n",
      "Epoch 32/100, Loss: 0.7984\n",
      "Epoch 32/100, Loss: 1.4224\n",
      "Epoch 32/100, Loss: 2.0866\n",
      "Epoch 32/100, Loss: 2.2183\n",
      "Epoch 32/100, Loss: 2.1727\n",
      "Epoch 32/100, Loss: 1.2846\n",
      "Epoch 33/100, Loss: 2.9498\n",
      "Epoch 33/100, Loss: 2.0914\n",
      "Epoch 33/100, Loss: 3.2594\n",
      "Epoch 33/100, Loss: 2.3266\n",
      "Epoch 33/100, Loss: 0.9872\n",
      "Epoch 33/100, Loss: 1.5502\n",
      "Epoch 33/100, Loss: 0.8529\n",
      "Epoch 33/100, Loss: 1.9307\n",
      "Epoch 33/100, Loss: 3.0743\n",
      "Epoch 33/100, Loss: 2.0252\n",
      "Epoch 33/100, Loss: 2.7206\n",
      "Epoch 33/100, Loss: 2.4016\n",
      "Epoch 33/100, Loss: 1.8249\n",
      "Epoch 33/100, Loss: 1.5988\n",
      "Epoch 33/100, Loss: 2.1422\n",
      "Epoch 33/100, Loss: 1.2494\n",
      "Epoch 33/100, Loss: 1.6773\n",
      "Epoch 33/100, Loss: 1.3911\n",
      "Epoch 33/100, Loss: 0.8357\n",
      "Epoch 33/100, Loss: 1.1770\n",
      "Epoch 33/100, Loss: 2.3913\n",
      "Epoch 33/100, Loss: 1.6186\n",
      "Epoch 33/100, Loss: 1.7547\n",
      "Epoch 33/100, Loss: 1.5208\n",
      "Epoch 33/100, Loss: 1.8462\n",
      "Epoch 33/100, Loss: 1.2768\n",
      "Epoch 33/100, Loss: 1.9272\n",
      "Epoch 33/100, Loss: 3.2243\n",
      "Epoch 33/100, Loss: 1.1627\n",
      "Epoch 33/100, Loss: 3.0348\n",
      "Epoch 33/100, Loss: 2.2761\n",
      "Epoch 33/100, Loss: 1.7550\n",
      "Epoch 33/100, Loss: 1.6761\n",
      "Epoch 33/100, Loss: 1.1485\n",
      "Epoch 33/100, Loss: 1.3341\n",
      "Epoch 33/100, Loss: 1.7231\n",
      "Epoch 33/100, Loss: 2.5815\n",
      "Epoch 33/100, Loss: 2.2986\n",
      "Epoch 33/100, Loss: 0.8684\n",
      "Epoch 33/100, Loss: 1.8541\n",
      "Epoch 33/100, Loss: 3.0255\n",
      "Epoch 33/100, Loss: 1.5537\n",
      "Epoch 33/100, Loss: 1.1355\n",
      "Epoch 33/100, Loss: 2.2008\n",
      "Epoch 33/100, Loss: 1.2795\n",
      "Epoch 33/100, Loss: 2.4935\n",
      "Epoch 33/100, Loss: 1.1954\n",
      "Epoch 33/100, Loss: 2.8556\n",
      "Epoch 33/100, Loss: 1.3585\n",
      "Epoch 33/100, Loss: 2.6706\n",
      "Epoch 33/100, Loss: 1.6879\n",
      "Epoch 33/100, Loss: 1.3796\n",
      "Epoch 33/100, Loss: 1.4894\n",
      "Epoch 33/100, Loss: 0.7898\n",
      "Epoch 33/100, Loss: 2.2422\n",
      "Epoch 33/100, Loss: 1.3927\n",
      "Epoch 33/100, Loss: 2.9215\n",
      "Epoch 33/100, Loss: 2.3926\n",
      "Epoch 33/100, Loss: 2.2294\n",
      "Epoch 33/100, Loss: 1.4622\n",
      "Epoch 33/100, Loss: 2.0306\n",
      "Epoch 33/100, Loss: 0.7790\n",
      "Epoch 34/100, Loss: 0.7277\n",
      "Epoch 34/100, Loss: 2.1122\n",
      "Epoch 34/100, Loss: 1.5381\n",
      "Epoch 34/100, Loss: 1.8180\n",
      "Epoch 34/100, Loss: 1.6120\n",
      "Epoch 34/100, Loss: 1.2441\n",
      "Epoch 34/100, Loss: 2.3630\n",
      "Epoch 34/100, Loss: 3.0827\n",
      "Epoch 34/100, Loss: 1.9245\n",
      "Epoch 34/100, Loss: 2.3587\n",
      "Epoch 34/100, Loss: 1.9389\n",
      "Epoch 34/100, Loss: 1.5773\n",
      "Epoch 34/100, Loss: 1.1982\n",
      "Epoch 34/100, Loss: 0.7218\n",
      "Epoch 34/100, Loss: 1.4379\n",
      "Epoch 34/100, Loss: 1.8412\n",
      "Epoch 34/100, Loss: 0.6762\n",
      "Epoch 34/100, Loss: 2.2083\n",
      "Epoch 34/100, Loss: 1.7602\n",
      "Epoch 34/100, Loss: 1.3070\n",
      "Epoch 34/100, Loss: 1.3046\n",
      "Epoch 34/100, Loss: 1.3496\n",
      "Epoch 34/100, Loss: 2.1734\n",
      "Epoch 34/100, Loss: 3.3967\n",
      "Epoch 34/100, Loss: 1.7999\n",
      "Epoch 34/100, Loss: 2.9781\n",
      "Epoch 34/100, Loss: 0.6729\n",
      "Epoch 34/100, Loss: 2.3989\n",
      "Epoch 34/100, Loss: 2.4899\n",
      "Epoch 34/100, Loss: 1.6487\n",
      "Epoch 34/100, Loss: 2.1152\n",
      "Epoch 34/100, Loss: 1.3001\n",
      "Epoch 34/100, Loss: 1.9155\n",
      "Epoch 34/100, Loss: 1.2249\n",
      "Epoch 34/100, Loss: 1.4800\n",
      "Epoch 34/100, Loss: 1.3766\n",
      "Epoch 34/100, Loss: 1.4412\n",
      "Epoch 34/100, Loss: 1.6362\n",
      "Epoch 34/100, Loss: 1.4065\n",
      "Epoch 34/100, Loss: 3.2357\n",
      "Epoch 34/100, Loss: 1.5517\n",
      "Epoch 34/100, Loss: 0.9735\n",
      "Epoch 34/100, Loss: 2.5468\n",
      "Epoch 34/100, Loss: 1.1540\n",
      "Epoch 34/100, Loss: 2.0734\n",
      "Epoch 34/100, Loss: 1.8723\n",
      "Epoch 34/100, Loss: 1.3009\n",
      "Epoch 34/100, Loss: 2.7442\n",
      "Epoch 34/100, Loss: 1.5296\n",
      "Epoch 34/100, Loss: 2.0976\n",
      "Epoch 34/100, Loss: 2.3294\n",
      "Epoch 34/100, Loss: 2.1809\n",
      "Epoch 34/100, Loss: 2.8340\n",
      "Epoch 34/100, Loss: 2.8334\n",
      "Epoch 34/100, Loss: 2.6197\n",
      "Epoch 34/100, Loss: 1.7142\n",
      "Epoch 34/100, Loss: 1.7299\n",
      "Epoch 34/100, Loss: 2.4259\n",
      "Epoch 34/100, Loss: 0.7991\n",
      "Epoch 34/100, Loss: 3.0507\n",
      "Epoch 34/100, Loss: 3.0466\n",
      "Epoch 34/100, Loss: 1.1920\n",
      "Epoch 35/100, Loss: 1.9764\n",
      "Epoch 35/100, Loss: 1.9516\n",
      "Epoch 35/100, Loss: 1.1625\n",
      "Epoch 35/100, Loss: 3.2436\n",
      "Epoch 35/100, Loss: 0.7872\n",
      "Epoch 35/100, Loss: 1.8718\n",
      "Epoch 35/100, Loss: 2.7993\n",
      "Epoch 35/100, Loss: 1.6324\n",
      "Epoch 35/100, Loss: 0.8218\n",
      "Epoch 35/100, Loss: 1.3194\n",
      "Epoch 35/100, Loss: 1.2306\n",
      "Epoch 35/100, Loss: 1.6022\n",
      "Epoch 35/100, Loss: 3.1975\n",
      "Epoch 35/100, Loss: 1.4922\n",
      "Epoch 35/100, Loss: 2.4367\n",
      "Epoch 35/100, Loss: 1.2949\n",
      "Epoch 35/100, Loss: 2.4322\n",
      "Epoch 35/100, Loss: 1.5908\n",
      "Epoch 35/100, Loss: 2.9796\n",
      "Epoch 35/100, Loss: 1.2127\n",
      "Epoch 35/100, Loss: 1.6151\n",
      "Epoch 35/100, Loss: 1.1461\n",
      "Epoch 35/100, Loss: 0.8102\n",
      "Epoch 35/100, Loss: 2.8278\n",
      "Epoch 35/100, Loss: 1.3123\n",
      "Epoch 35/100, Loss: 2.0658\n",
      "Epoch 35/100, Loss: 2.0435\n",
      "Epoch 35/100, Loss: 3.1575\n",
      "Epoch 35/100, Loss: 1.6886\n",
      "Epoch 35/100, Loss: 1.1221\n",
      "Epoch 35/100, Loss: 2.2656\n",
      "Epoch 35/100, Loss: 2.3394\n",
      "Epoch 35/100, Loss: 1.8054\n",
      "Epoch 35/100, Loss: 1.0831\n",
      "Epoch 35/100, Loss: 2.1384\n",
      "Epoch 35/100, Loss: 1.6128\n",
      "Epoch 35/100, Loss: 3.0591\n",
      "Epoch 35/100, Loss: 1.0715\n",
      "Epoch 35/100, Loss: 1.8450\n",
      "Epoch 35/100, Loss: 1.8716\n",
      "Epoch 35/100, Loss: 1.5243\n",
      "Epoch 35/100, Loss: 2.2552\n",
      "Epoch 35/100, Loss: 2.5750\n",
      "Epoch 35/100, Loss: 2.1673\n",
      "Epoch 35/100, Loss: 1.6724\n",
      "Epoch 35/100, Loss: 1.2651\n",
      "Epoch 35/100, Loss: 1.8178\n",
      "Epoch 35/100, Loss: 1.4181\n",
      "Epoch 35/100, Loss: 1.4182\n",
      "Epoch 35/100, Loss: 0.7985\n",
      "Epoch 35/100, Loss: 3.0613\n",
      "Epoch 35/100, Loss: 2.7727\n",
      "Epoch 35/100, Loss: 1.5691\n",
      "Epoch 35/100, Loss: 0.7463\n",
      "Epoch 35/100, Loss: 2.4676\n",
      "Epoch 35/100, Loss: 2.1857\n",
      "Epoch 35/100, Loss: 2.5526\n",
      "Epoch 35/100, Loss: 1.3652\n",
      "Epoch 35/100, Loss: 1.4243\n",
      "Epoch 35/100, Loss: 2.4938\n",
      "Epoch 35/100, Loss: 2.1949\n",
      "Epoch 35/100, Loss: 1.3092\n",
      "Epoch 36/100, Loss: 1.1388\n",
      "Epoch 36/100, Loss: 2.6649\n",
      "Epoch 36/100, Loss: 2.5456\n",
      "Epoch 36/100, Loss: 1.7834\n",
      "Epoch 36/100, Loss: 1.3261\n",
      "Epoch 36/100, Loss: 2.1026\n",
      "Epoch 36/100, Loss: 2.7672\n",
      "Epoch 36/100, Loss: 1.2389\n",
      "Epoch 36/100, Loss: 2.5594\n",
      "Epoch 36/100, Loss: 1.9846\n",
      "Epoch 36/100, Loss: 2.9457\n",
      "Epoch 36/100, Loss: 2.4121\n",
      "Epoch 36/100, Loss: 1.1760\n",
      "Epoch 36/100, Loss: 2.3061\n",
      "Epoch 36/100, Loss: 1.2219\n",
      "Epoch 36/100, Loss: 2.0209\n",
      "Epoch 36/100, Loss: 2.1086\n",
      "Epoch 36/100, Loss: 1.3409\n",
      "Epoch 36/100, Loss: 1.3920\n",
      "Epoch 36/100, Loss: 2.3911\n",
      "Epoch 36/100, Loss: 1.5441\n",
      "Epoch 36/100, Loss: 1.2643\n",
      "Epoch 36/100, Loss: 1.2869\n",
      "Epoch 36/100, Loss: 2.2980\n",
      "Epoch 36/100, Loss: 2.8096\n",
      "Epoch 36/100, Loss: 1.5378\n",
      "Epoch 36/100, Loss: 1.7371\n",
      "Epoch 36/100, Loss: 1.6246\n",
      "Epoch 36/100, Loss: 2.1799\n",
      "Epoch 36/100, Loss: 1.1258\n",
      "Epoch 36/100, Loss: 1.3064\n",
      "Epoch 36/100, Loss: 1.6303\n",
      "Epoch 36/100, Loss: 1.4047\n",
      "Epoch 36/100, Loss: 0.9494\n",
      "Epoch 36/100, Loss: 2.2924\n",
      "Epoch 36/100, Loss: 3.0281\n",
      "Epoch 36/100, Loss: 3.2350\n",
      "Epoch 36/100, Loss: 1.9863\n",
      "Epoch 36/100, Loss: 1.5363\n",
      "Epoch 36/100, Loss: 2.9946\n",
      "Epoch 36/100, Loss: 0.8856\n",
      "Epoch 36/100, Loss: 0.8241\n",
      "Epoch 36/100, Loss: 1.0040\n",
      "Epoch 36/100, Loss: 3.1314\n",
      "Epoch 36/100, Loss: 3.2813\n",
      "Epoch 36/100, Loss: 2.1271\n",
      "Epoch 36/100, Loss: 1.9059\n",
      "Epoch 36/100, Loss: 1.7572\n",
      "Epoch 36/100, Loss: 1.2256\n",
      "Epoch 36/100, Loss: 1.5509\n",
      "Epoch 36/100, Loss: 1.1673\n",
      "Epoch 36/100, Loss: 2.1894\n",
      "Epoch 36/100, Loss: 1.6481\n",
      "Epoch 36/100, Loss: 1.5363\n",
      "Epoch 36/100, Loss: 0.8056\n",
      "Epoch 36/100, Loss: 2.2866\n",
      "Epoch 36/100, Loss: 1.6767\n",
      "Epoch 36/100, Loss: 2.4766\n",
      "Epoch 36/100, Loss: 2.0252\n",
      "Epoch 36/100, Loss: 1.7376\n",
      "Epoch 36/100, Loss: 1.2997\n",
      "Epoch 36/100, Loss: 0.7422\n",
      "Epoch 37/100, Loss: 2.7410\n",
      "Epoch 37/100, Loss: 2.9138\n",
      "Epoch 37/100, Loss: 1.1814\n",
      "Epoch 37/100, Loss: 1.7315\n",
      "Epoch 37/100, Loss: 1.5767\n",
      "Epoch 37/100, Loss: 1.7756\n",
      "Epoch 37/100, Loss: 2.5233\n",
      "Epoch 37/100, Loss: 1.7848\n",
      "Epoch 37/100, Loss: 1.5105\n",
      "Epoch 37/100, Loss: 1.9601\n",
      "Epoch 37/100, Loss: 2.6908\n",
      "Epoch 37/100, Loss: 1.2869\n",
      "Epoch 37/100, Loss: 1.5534\n",
      "Epoch 37/100, Loss: 2.1437\n",
      "Epoch 37/100, Loss: 1.7395\n",
      "Epoch 37/100, Loss: 2.1756\n",
      "Epoch 37/100, Loss: 1.3438\n",
      "Epoch 37/100, Loss: 0.6810\n",
      "Epoch 37/100, Loss: 1.3463\n",
      "Epoch 37/100, Loss: 2.2289\n",
      "Epoch 37/100, Loss: 2.8465\n",
      "Epoch 37/100, Loss: 0.6825\n",
      "Epoch 37/100, Loss: 2.0669\n",
      "Epoch 37/100, Loss: 2.9606\n",
      "Epoch 37/100, Loss: 2.4394\n",
      "Epoch 37/100, Loss: 1.6279\n",
      "Epoch 37/100, Loss: 2.9203\n",
      "Epoch 37/100, Loss: 2.5335\n",
      "Epoch 37/100, Loss: 1.5896\n",
      "Epoch 37/100, Loss: 1.9906\n",
      "Epoch 37/100, Loss: 1.2623\n",
      "Epoch 37/100, Loss: 1.6583\n",
      "Epoch 37/100, Loss: 3.1889\n",
      "Epoch 37/100, Loss: 2.4140\n",
      "Epoch 37/100, Loss: 1.2121\n",
      "Epoch 37/100, Loss: 1.8892\n",
      "Epoch 37/100, Loss: 1.6015\n",
      "Epoch 37/100, Loss: 1.1341\n",
      "Epoch 37/100, Loss: 1.3114\n",
      "Epoch 37/100, Loss: 2.4467\n",
      "Epoch 37/100, Loss: 3.3773\n",
      "Epoch 37/100, Loss: 3.1476\n",
      "Epoch 37/100, Loss: 1.1340\n",
      "Epoch 37/100, Loss: 2.4383\n",
      "Epoch 37/100, Loss: 0.8549\n",
      "Epoch 37/100, Loss: 2.1047\n",
      "Epoch 37/100, Loss: 2.2036\n",
      "Epoch 37/100, Loss: 0.7881\n",
      "Epoch 37/100, Loss: 2.0433\n",
      "Epoch 37/100, Loss: 1.4173\n",
      "Epoch 37/100, Loss: 1.3635\n",
      "Epoch 37/100, Loss: 1.6506\n",
      "Epoch 37/100, Loss: 1.2467\n",
      "Epoch 37/100, Loss: 2.4799\n",
      "Epoch 37/100, Loss: 1.2597\n",
      "Epoch 37/100, Loss: 1.4700\n",
      "Epoch 37/100, Loss: 0.7518\n",
      "Epoch 37/100, Loss: 1.0695\n",
      "Epoch 37/100, Loss: 1.6210\n",
      "Epoch 37/100, Loss: 1.4751\n",
      "Epoch 37/100, Loss: 1.2938\n",
      "Epoch 37/100, Loss: 2.2255\n",
      "Epoch 38/100, Loss: 1.2908\n",
      "Epoch 38/100, Loss: 1.1434\n",
      "Epoch 38/100, Loss: 1.3127\n",
      "Epoch 38/100, Loss: 1.5183\n",
      "Epoch 38/100, Loss: 1.6166\n",
      "Epoch 38/100, Loss: 1.7557\n",
      "Epoch 38/100, Loss: 0.6927\n",
      "Epoch 38/100, Loss: 2.1926\n",
      "Epoch 38/100, Loss: 1.6174\n",
      "Epoch 38/100, Loss: 2.4547\n",
      "Epoch 38/100, Loss: 0.7314\n",
      "Epoch 38/100, Loss: 2.5098\n",
      "Epoch 38/100, Loss: 2.1351\n",
      "Epoch 38/100, Loss: 2.0974\n",
      "Epoch 38/100, Loss: 1.2322\n",
      "Epoch 38/100, Loss: 1.2411\n",
      "Epoch 38/100, Loss: 2.3526\n",
      "Epoch 38/100, Loss: 2.3795\n",
      "Epoch 38/100, Loss: 2.7430\n",
      "Epoch 38/100, Loss: 2.4223\n",
      "Epoch 38/100, Loss: 1.4019\n",
      "Epoch 38/100, Loss: 1.1891\n",
      "Epoch 38/100, Loss: 1.5214\n",
      "Epoch 38/100, Loss: 2.9654\n",
      "Epoch 38/100, Loss: 3.0868\n",
      "Epoch 38/100, Loss: 1.3080\n",
      "Epoch 38/100, Loss: 0.7220\n",
      "Epoch 38/100, Loss: 1.9913\n",
      "Epoch 38/100, Loss: 0.6670\n",
      "Epoch 38/100, Loss: 1.5266\n",
      "Epoch 38/100, Loss: 1.5166\n",
      "Epoch 38/100, Loss: 1.6707\n",
      "Epoch 38/100, Loss: 1.1784\n",
      "Epoch 38/100, Loss: 2.4927\n",
      "Epoch 38/100, Loss: 1.3002\n",
      "Epoch 38/100, Loss: 1.1114\n",
      "Epoch 38/100, Loss: 1.8118\n",
      "Epoch 38/100, Loss: 1.8106\n",
      "Epoch 38/100, Loss: 2.2593\n",
      "Epoch 38/100, Loss: 1.6275\n",
      "Epoch 38/100, Loss: 2.1160\n",
      "Epoch 38/100, Loss: 1.8240\n",
      "Epoch 38/100, Loss: 2.0171\n",
      "Epoch 38/100, Loss: 2.1117\n",
      "Epoch 38/100, Loss: 2.5535\n",
      "Epoch 38/100, Loss: 1.2066\n",
      "Epoch 38/100, Loss: 2.7191\n",
      "Epoch 38/100, Loss: 2.8541\n",
      "Epoch 38/100, Loss: 1.9881\n",
      "Epoch 38/100, Loss: 1.0747\n",
      "Epoch 38/100, Loss: 3.2309\n",
      "Epoch 38/100, Loss: 0.7356\n",
      "Epoch 38/100, Loss: 1.1688\n",
      "Epoch 38/100, Loss: 3.4155\n",
      "Epoch 38/100, Loss: 1.2975\n",
      "Epoch 38/100, Loss: 3.0501\n",
      "Epoch 38/100, Loss: 1.3141\n",
      "Epoch 38/100, Loss: 1.6101\n",
      "Epoch 38/100, Loss: 2.2156\n",
      "Epoch 38/100, Loss: 2.0908\n",
      "Epoch 38/100, Loss: 1.4578\n",
      "Epoch 38/100, Loss: 3.0229\n",
      "Epoch 39/100, Loss: 1.6938\n",
      "Epoch 39/100, Loss: 1.9282\n",
      "Epoch 39/100, Loss: 0.7141\n",
      "Epoch 39/100, Loss: 3.2727\n",
      "Epoch 39/100, Loss: 1.9086\n",
      "Epoch 39/100, Loss: 1.9768\n",
      "Epoch 39/100, Loss: 2.1633\n",
      "Epoch 39/100, Loss: 0.7009\n",
      "Epoch 39/100, Loss: 1.2317\n",
      "Epoch 39/100, Loss: 1.7568\n",
      "Epoch 39/100, Loss: 1.5634\n",
      "Epoch 39/100, Loss: 2.4706\n",
      "Epoch 39/100, Loss: 1.2141\n",
      "Epoch 39/100, Loss: 1.1761\n",
      "Epoch 39/100, Loss: 0.6348\n",
      "Epoch 39/100, Loss: 2.4558\n",
      "Epoch 39/100, Loss: 2.6512\n",
      "Epoch 39/100, Loss: 2.5052\n",
      "Epoch 39/100, Loss: 2.5348\n",
      "Epoch 39/100, Loss: 1.2531\n",
      "Epoch 39/100, Loss: 2.1751\n",
      "Epoch 39/100, Loss: 1.5595\n",
      "Epoch 39/100, Loss: 2.0079\n",
      "Epoch 39/100, Loss: 1.6292\n",
      "Epoch 39/100, Loss: 2.3281\n",
      "Epoch 39/100, Loss: 0.6940\n",
      "Epoch 39/100, Loss: 1.2558\n",
      "Epoch 39/100, Loss: 2.2512\n",
      "Epoch 39/100, Loss: 1.7155\n",
      "Epoch 39/100, Loss: 1.3536\n",
      "Epoch 39/100, Loss: 2.1995\n",
      "Epoch 39/100, Loss: 2.9478\n",
      "Epoch 39/100, Loss: 1.2185\n",
      "Epoch 39/100, Loss: 0.6483\n",
      "Epoch 39/100, Loss: 1.2998\n",
      "Epoch 39/100, Loss: 3.0988\n",
      "Epoch 39/100, Loss: 1.1758\n",
      "Epoch 39/100, Loss: 1.3897\n",
      "Epoch 39/100, Loss: 2.1282\n",
      "Epoch 39/100, Loss: 1.4041\n",
      "Epoch 39/100, Loss: 1.0214\n",
      "Epoch 39/100, Loss: 1.4555\n",
      "Epoch 39/100, Loss: 2.5372\n",
      "Epoch 39/100, Loss: 1.5925\n",
      "Epoch 39/100, Loss: 1.1181\n",
      "Epoch 39/100, Loss: 1.0546\n",
      "Epoch 39/100, Loss: 1.9756\n",
      "Epoch 39/100, Loss: 1.3396\n",
      "Epoch 39/100, Loss: 1.4975\n",
      "Epoch 39/100, Loss: 2.7697\n",
      "Epoch 39/100, Loss: 2.0064\n",
      "Epoch 39/100, Loss: 1.6399\n",
      "Epoch 39/100, Loss: 1.6551\n",
      "Epoch 39/100, Loss: 1.4820\n",
      "Epoch 39/100, Loss: 3.0332\n",
      "Epoch 39/100, Loss: 3.0548\n",
      "Epoch 39/100, Loss: 3.2180\n",
      "Epoch 39/100, Loss: 1.5756\n",
      "Epoch 39/100, Loss: 2.8830\n",
      "Epoch 39/100, Loss: 1.8265\n",
      "Epoch 39/100, Loss: 1.7045\n",
      "Epoch 39/100, Loss: 2.4752\n",
      "Epoch 40/100, Loss: 2.7029\n",
      "Epoch 40/100, Loss: 1.2606\n",
      "Epoch 40/100, Loss: 0.7492\n",
      "Epoch 40/100, Loss: 1.6958\n",
      "Epoch 40/100, Loss: 0.7006\n",
      "Epoch 40/100, Loss: 2.1239\n",
      "Epoch 40/100, Loss: 2.4014\n",
      "Epoch 40/100, Loss: 1.3085\n",
      "Epoch 40/100, Loss: 2.9073\n",
      "Epoch 40/100, Loss: 2.8941\n",
      "Epoch 40/100, Loss: 1.9629\n",
      "Epoch 40/100, Loss: 1.9541\n",
      "Epoch 40/100, Loss: 2.6775\n",
      "Epoch 40/100, Loss: 1.2293\n",
      "Epoch 40/100, Loss: 1.5396\n",
      "Epoch 40/100, Loss: 1.7209\n",
      "Epoch 40/100, Loss: 1.2420\n",
      "Epoch 40/100, Loss: 1.5897\n",
      "Epoch 40/100, Loss: 2.0367\n",
      "Epoch 40/100, Loss: 1.2673\n",
      "Epoch 40/100, Loss: 1.6493\n",
      "Epoch 40/100, Loss: 2.2103\n",
      "Epoch 40/100, Loss: 0.7165\n",
      "Epoch 40/100, Loss: 1.5180\n",
      "Epoch 40/100, Loss: 1.2135\n",
      "Epoch 40/100, Loss: 2.9239\n",
      "Epoch 40/100, Loss: 2.3852\n",
      "Epoch 40/100, Loss: 1.4321\n",
      "Epoch 40/100, Loss: 0.6690\n",
      "Epoch 40/100, Loss: 1.3624\n",
      "Epoch 40/100, Loss: 1.3916\n",
      "Epoch 40/100, Loss: 1.9434\n",
      "Epoch 40/100, Loss: 2.4197\n",
      "Epoch 40/100, Loss: 1.2771\n",
      "Epoch 40/100, Loss: 1.0501\n",
      "Epoch 40/100, Loss: 1.5884\n",
      "Epoch 40/100, Loss: 1.2075\n",
      "Epoch 40/100, Loss: 2.1556\n",
      "Epoch 40/100, Loss: 1.2856\n",
      "Epoch 40/100, Loss: 2.4770\n",
      "Epoch 40/100, Loss: 3.1033\n",
      "Epoch 40/100, Loss: 2.2863\n",
      "Epoch 40/100, Loss: 2.5356\n",
      "Epoch 40/100, Loss: 1.2369\n",
      "Epoch 40/100, Loss: 0.6816\n",
      "Epoch 40/100, Loss: 3.3182\n",
      "Epoch 40/100, Loss: 2.5078\n",
      "Epoch 40/100, Loss: 2.8083\n",
      "Epoch 40/100, Loss: 3.1828\n",
      "Epoch 40/100, Loss: 1.5528\n",
      "Epoch 40/100, Loss: 2.0790\n",
      "Epoch 40/100, Loss: 1.8790\n",
      "Epoch 40/100, Loss: 1.9967\n",
      "Epoch 40/100, Loss: 1.7482\n",
      "Epoch 40/100, Loss: 1.2871\n",
      "Epoch 40/100, Loss: 1.2024\n",
      "Epoch 40/100, Loss: 1.5605\n",
      "Epoch 40/100, Loss: 1.9542\n",
      "Epoch 40/100, Loss: 1.2767\n",
      "Epoch 40/100, Loss: 1.5354\n",
      "Epoch 40/100, Loss: 2.5771\n",
      "Epoch 40/100, Loss: 1.6956\n",
      "Epoch 41/100, Loss: 1.1848\n",
      "Epoch 41/100, Loss: 1.5661\n",
      "Epoch 41/100, Loss: 2.1345\n",
      "Epoch 41/100, Loss: 0.7524\n",
      "Epoch 41/100, Loss: 1.9504\n",
      "Epoch 41/100, Loss: 2.3319\n",
      "Epoch 41/100, Loss: 1.7368\n",
      "Epoch 41/100, Loss: 1.1671\n",
      "Epoch 41/100, Loss: 1.8881\n",
      "Epoch 41/100, Loss: 2.1768\n",
      "Epoch 41/100, Loss: 1.8622\n",
      "Epoch 41/100, Loss: 2.9111\n",
      "Epoch 41/100, Loss: 1.3111\n",
      "Epoch 41/100, Loss: 0.9822\n",
      "Epoch 41/100, Loss: 1.5027\n",
      "Epoch 41/100, Loss: 1.9598\n",
      "Epoch 41/100, Loss: 1.1817\n",
      "Epoch 41/100, Loss: 2.4348\n",
      "Epoch 41/100, Loss: 2.3247\n",
      "Epoch 41/100, Loss: 2.4423\n",
      "Epoch 41/100, Loss: 1.3512\n",
      "Epoch 41/100, Loss: 2.6584\n",
      "Epoch 41/100, Loss: 3.1563\n",
      "Epoch 41/100, Loss: 1.2303\n",
      "Epoch 41/100, Loss: 1.5007\n",
      "Epoch 41/100, Loss: 2.9716\n",
      "Epoch 41/100, Loss: 1.7950\n",
      "Epoch 41/100, Loss: 1.7480\n",
      "Epoch 41/100, Loss: 1.6155\n",
      "Epoch 41/100, Loss: 1.4077\n",
      "Epoch 41/100, Loss: 2.0350\n",
      "Epoch 41/100, Loss: 2.0132\n",
      "Epoch 41/100, Loss: 1.6778\n",
      "Epoch 41/100, Loss: 0.8224\n",
      "Epoch 41/100, Loss: 1.6276\n",
      "Epoch 41/100, Loss: 3.0992\n",
      "Epoch 41/100, Loss: 2.4669\n",
      "Epoch 41/100, Loss: 1.3199\n",
      "Epoch 41/100, Loss: 1.1996\n",
      "Epoch 41/100, Loss: 1.2651\n",
      "Epoch 41/100, Loss: 1.5472\n",
      "Epoch 41/100, Loss: 1.4491\n",
      "Epoch 41/100, Loss: 0.7869\n",
      "Epoch 41/100, Loss: 2.9940\n",
      "Epoch 41/100, Loss: 1.7410\n",
      "Epoch 41/100, Loss: 1.2118\n",
      "Epoch 41/100, Loss: 1.2246\n",
      "Epoch 41/100, Loss: 2.7448\n",
      "Epoch 41/100, Loss: 3.2924\n",
      "Epoch 41/100, Loss: 0.8219\n",
      "Epoch 41/100, Loss: 0.7643\n",
      "Epoch 41/100, Loss: 2.3117\n",
      "Epoch 41/100, Loss: 1.5667\n",
      "Epoch 41/100, Loss: 1.3406\n",
      "Epoch 41/100, Loss: 2.5198\n",
      "Epoch 41/100, Loss: 2.1848\n",
      "Epoch 41/100, Loss: 2.7452\n",
      "Epoch 41/100, Loss: 1.4743\n",
      "Epoch 41/100, Loss: 1.2538\n",
      "Epoch 41/100, Loss: 2.0321\n",
      "Epoch 41/100, Loss: 1.1731\n",
      "Epoch 41/100, Loss: 2.5166\n",
      "Epoch 42/100, Loss: 1.3594\n",
      "Epoch 42/100, Loss: 1.1354\n",
      "Epoch 42/100, Loss: 0.7584\n",
      "Epoch 42/100, Loss: 2.7363\n",
      "Epoch 42/100, Loss: 1.5537\n",
      "Epoch 42/100, Loss: 3.0518\n",
      "Epoch 42/100, Loss: 1.9932\n",
      "Epoch 42/100, Loss: 2.8762\n",
      "Epoch 42/100, Loss: 1.5116\n",
      "Epoch 42/100, Loss: 1.2374\n",
      "Epoch 42/100, Loss: 1.1675\n",
      "Epoch 42/100, Loss: 1.1874\n",
      "Epoch 42/100, Loss: 2.1353\n",
      "Epoch 42/100, Loss: 2.1079\n",
      "Epoch 42/100, Loss: 3.1368\n",
      "Epoch 42/100, Loss: 1.6668\n",
      "Epoch 42/100, Loss: 1.4919\n",
      "Epoch 42/100, Loss: 1.9568\n",
      "Epoch 42/100, Loss: 3.1949\n",
      "Epoch 42/100, Loss: 1.4368\n",
      "Epoch 42/100, Loss: 1.5104\n",
      "Epoch 42/100, Loss: 1.7166\n",
      "Epoch 42/100, Loss: 0.7811\n",
      "Epoch 42/100, Loss: 1.9946\n",
      "Epoch 42/100, Loss: 2.9359\n",
      "Epoch 42/100, Loss: 2.0804\n",
      "Epoch 42/100, Loss: 1.6775\n",
      "Epoch 42/100, Loss: 1.6648\n",
      "Epoch 42/100, Loss: 1.7466\n",
      "Epoch 42/100, Loss: 2.3483\n",
      "Epoch 42/100, Loss: 0.7746\n",
      "Epoch 42/100, Loss: 2.3970\n",
      "Epoch 42/100, Loss: 1.4510\n",
      "Epoch 42/100, Loss: 2.9463\n",
      "Epoch 42/100, Loss: 1.2333\n",
      "Epoch 42/100, Loss: 1.2848\n",
      "Epoch 42/100, Loss: 2.7092\n",
      "Epoch 42/100, Loss: 2.5157\n",
      "Epoch 42/100, Loss: 2.1982\n",
      "Epoch 42/100, Loss: 2.3891\n",
      "Epoch 42/100, Loss: 1.2216\n",
      "Epoch 42/100, Loss: 1.2676\n",
      "Epoch 42/100, Loss: 1.6408\n",
      "Epoch 42/100, Loss: 2.5586\n",
      "Epoch 42/100, Loss: 1.2090\n",
      "Epoch 42/100, Loss: 1.2393\n",
      "Epoch 42/100, Loss: 1.8362\n",
      "Epoch 42/100, Loss: 2.4355\n",
      "Epoch 42/100, Loss: 0.7850\n",
      "Epoch 42/100, Loss: 1.2513\n",
      "Epoch 42/100, Loss: 2.6977\n",
      "Epoch 42/100, Loss: 1.5554\n",
      "Epoch 42/100, Loss: 1.9266\n",
      "Epoch 42/100, Loss: 2.1033\n",
      "Epoch 42/100, Loss: 2.2551\n",
      "Epoch 42/100, Loss: 1.9879\n",
      "Epoch 42/100, Loss: 1.4166\n",
      "Epoch 42/100, Loss: 1.0639\n",
      "Epoch 42/100, Loss: 1.2319\n",
      "Epoch 42/100, Loss: 0.7263\n",
      "Epoch 42/100, Loss: 1.1606\n",
      "Epoch 42/100, Loss: 2.4538\n",
      "Epoch 43/100, Loss: 1.3804\n",
      "Epoch 43/100, Loss: 1.9569\n",
      "Epoch 43/100, Loss: 2.6675\n",
      "Epoch 43/100, Loss: 1.1773\n",
      "Epoch 43/100, Loss: 1.2445\n",
      "Epoch 43/100, Loss: 1.2052\n",
      "Epoch 43/100, Loss: 1.5265\n",
      "Epoch 43/100, Loss: 1.6894\n",
      "Epoch 43/100, Loss: 2.6174\n",
      "Epoch 43/100, Loss: 1.1557\n",
      "Epoch 43/100, Loss: 1.2699\n",
      "Epoch 43/100, Loss: 1.5057\n",
      "Epoch 43/100, Loss: 2.2759\n",
      "Epoch 43/100, Loss: 1.0903\n",
      "Epoch 43/100, Loss: 1.1747\n",
      "Epoch 43/100, Loss: 1.0983\n",
      "Epoch 43/100, Loss: 1.0259\n",
      "Epoch 43/100, Loss: 1.6331\n",
      "Epoch 43/100, Loss: 1.5087\n",
      "Epoch 43/100, Loss: 1.2822\n",
      "Epoch 43/100, Loss: 3.0119\n",
      "Epoch 43/100, Loss: 1.6431\n",
      "Epoch 43/100, Loss: 1.9915\n",
      "Epoch 43/100, Loss: 0.8346\n",
      "Epoch 43/100, Loss: 3.0173\n",
      "Epoch 43/100, Loss: 2.2662\n",
      "Epoch 43/100, Loss: 2.9605\n",
      "Epoch 43/100, Loss: 0.7732\n",
      "Epoch 43/100, Loss: 2.2122\n",
      "Epoch 43/100, Loss: 2.3783\n",
      "Epoch 43/100, Loss: 1.0873\n",
      "Epoch 43/100, Loss: 1.4695\n",
      "Epoch 43/100, Loss: 1.9576\n",
      "Epoch 43/100, Loss: 2.0000\n",
      "Epoch 43/100, Loss: 2.1820\n",
      "Epoch 43/100, Loss: 1.4865\n",
      "Epoch 43/100, Loss: 3.1215\n",
      "Epoch 43/100, Loss: 1.2393\n",
      "Epoch 43/100, Loss: 3.1912\n",
      "Epoch 43/100, Loss: 2.5259\n",
      "Epoch 43/100, Loss: 2.2508\n",
      "Epoch 43/100, Loss: 1.4802\n",
      "Epoch 43/100, Loss: 0.7876\n",
      "Epoch 43/100, Loss: 1.2605\n",
      "Epoch 43/100, Loss: 1.9706\n",
      "Epoch 43/100, Loss: 0.7329\n",
      "Epoch 43/100, Loss: 1.7069\n",
      "Epoch 43/100, Loss: 2.0891\n",
      "Epoch 43/100, Loss: 1.9329\n",
      "Epoch 43/100, Loss: 1.1399\n",
      "Epoch 43/100, Loss: 2.5047\n",
      "Epoch 43/100, Loss: 1.0245\n",
      "Epoch 43/100, Loss: 0.7346\n",
      "Epoch 43/100, Loss: 1.4102\n",
      "Epoch 43/100, Loss: 2.4812\n",
      "Epoch 43/100, Loss: 1.6582\n",
      "Epoch 43/100, Loss: 3.2240\n",
      "Epoch 43/100, Loss: 1.7817\n",
      "Epoch 43/100, Loss: 2.5315\n",
      "Epoch 43/100, Loss: 1.7985\n",
      "Epoch 43/100, Loss: 2.4814\n",
      "Epoch 43/100, Loss: 2.8799\n",
      "Epoch 44/100, Loss: 1.5618\n",
      "Epoch 44/100, Loss: 2.4300\n",
      "Epoch 44/100, Loss: 1.5435\n",
      "Epoch 44/100, Loss: 1.1840\n",
      "Epoch 44/100, Loss: 2.3882\n",
      "Epoch 44/100, Loss: 3.0399\n",
      "Epoch 44/100, Loss: 1.5605\n",
      "Epoch 44/100, Loss: 1.1681\n",
      "Epoch 44/100, Loss: 2.3505\n",
      "Epoch 44/100, Loss: 1.7024\n",
      "Epoch 44/100, Loss: 1.2197\n",
      "Epoch 44/100, Loss: 1.6831\n",
      "Epoch 44/100, Loss: 2.4529\n",
      "Epoch 44/100, Loss: 1.9920\n",
      "Epoch 44/100, Loss: 1.7161\n",
      "Epoch 44/100, Loss: 1.2010\n",
      "Epoch 44/100, Loss: 1.1558\n",
      "Epoch 44/100, Loss: 1.2420\n",
      "Epoch 44/100, Loss: 1.8439\n",
      "Epoch 44/100, Loss: 1.2932\n",
      "Epoch 44/100, Loss: 0.7988\n",
      "Epoch 44/100, Loss: 0.7426\n",
      "Epoch 44/100, Loss: 2.9466\n",
      "Epoch 44/100, Loss: 2.1255\n",
      "Epoch 44/100, Loss: 3.3320\n",
      "Epoch 44/100, Loss: 2.6638\n",
      "Epoch 44/100, Loss: 2.1210\n",
      "Epoch 44/100, Loss: 2.1080\n",
      "Epoch 44/100, Loss: 0.7331\n",
      "Epoch 44/100, Loss: 1.4822\n",
      "Epoch 44/100, Loss: 1.9895\n",
      "Epoch 44/100, Loss: 2.3826\n",
      "Epoch 44/100, Loss: 2.6683\n",
      "Epoch 44/100, Loss: 1.3679\n",
      "Epoch 44/100, Loss: 3.1318\n",
      "Epoch 44/100, Loss: 1.2644\n",
      "Epoch 44/100, Loss: 1.3750\n",
      "Epoch 44/100, Loss: 1.0331\n",
      "Epoch 44/100, Loss: 2.9164\n",
      "Epoch 44/100, Loss: 0.7798\n",
      "Epoch 44/100, Loss: 0.7250\n",
      "Epoch 44/100, Loss: 2.1930\n",
      "Epoch 44/100, Loss: 1.4953\n",
      "Epoch 44/100, Loss: 1.5417\n",
      "Epoch 44/100, Loss: 1.1956\n",
      "Epoch 44/100, Loss: 2.9633\n",
      "Epoch 44/100, Loss: 1.9574\n",
      "Epoch 44/100, Loss: 1.2591\n",
      "Epoch 44/100, Loss: 1.7491\n",
      "Epoch 44/100, Loss: 2.4062\n",
      "Epoch 44/100, Loss: 1.9595\n",
      "Epoch 44/100, Loss: 2.0825\n",
      "Epoch 44/100, Loss: 2.7904\n",
      "Epoch 44/100, Loss: 1.2345\n",
      "Epoch 44/100, Loss: 1.4994\n",
      "Epoch 44/100, Loss: 2.4689\n",
      "Epoch 44/100, Loss: 1.5233\n",
      "Epoch 44/100, Loss: 1.5755\n",
      "Epoch 44/100, Loss: 1.2652\n",
      "Epoch 44/100, Loss: 1.9295\n",
      "Epoch 44/100, Loss: 1.1829\n",
      "Epoch 44/100, Loss: 1.6669\n",
      "Epoch 45/100, Loss: 1.2167\n",
      "Epoch 45/100, Loss: 1.3785\n",
      "Epoch 45/100, Loss: 0.7382\n",
      "Epoch 45/100, Loss: 1.8345\n",
      "Epoch 45/100, Loss: 1.1087\n",
      "Epoch 45/100, Loss: 2.8977\n",
      "Epoch 45/100, Loss: 2.1566\n",
      "Epoch 45/100, Loss: 1.9637\n",
      "Epoch 45/100, Loss: 2.9348\n",
      "Epoch 45/100, Loss: 2.8989\n",
      "Epoch 45/100, Loss: 1.2162\n",
      "Epoch 45/100, Loss: 1.1618\n",
      "Epoch 45/100, Loss: 1.7219\n",
      "Epoch 45/100, Loss: 0.6839\n",
      "Epoch 45/100, Loss: 3.3359\n",
      "Epoch 45/100, Loss: 1.2120\n",
      "Epoch 45/100, Loss: 0.6866\n",
      "Epoch 45/100, Loss: 1.2764\n",
      "Epoch 45/100, Loss: 1.5110\n",
      "Epoch 45/100, Loss: 2.4684\n",
      "Epoch 45/100, Loss: 2.1651\n",
      "Epoch 45/100, Loss: 0.6330\n",
      "Epoch 45/100, Loss: 2.0064\n",
      "Epoch 45/100, Loss: 2.4484\n",
      "Epoch 45/100, Loss: 2.4216\n",
      "Epoch 45/100, Loss: 2.1597\n",
      "Epoch 45/100, Loss: 2.6449\n",
      "Epoch 45/100, Loss: 2.5142\n",
      "Epoch 45/100, Loss: 1.8231\n",
      "Epoch 45/100, Loss: 2.6323\n",
      "Epoch 45/100, Loss: 2.3959\n",
      "Epoch 45/100, Loss: 1.3718\n",
      "Epoch 45/100, Loss: 2.5224\n",
      "Epoch 45/100, Loss: 1.6644\n",
      "Epoch 45/100, Loss: 1.2194\n",
      "Epoch 45/100, Loss: 1.5288\n",
      "Epoch 45/100, Loss: 3.1085\n",
      "Epoch 45/100, Loss: 2.0230\n",
      "Epoch 45/100, Loss: 2.4662\n",
      "Epoch 45/100, Loss: 0.7222\n",
      "Epoch 45/100, Loss: 1.1705\n",
      "Epoch 45/100, Loss: 1.6130\n",
      "Epoch 45/100, Loss: 1.4961\n",
      "Epoch 45/100, Loss: 1.5709\n",
      "Epoch 45/100, Loss: 1.3951\n",
      "Epoch 45/100, Loss: 1.0752\n",
      "Epoch 45/100, Loss: 2.8548\n",
      "Epoch 45/100, Loss: 1.1590\n",
      "Epoch 45/100, Loss: 1.2567\n",
      "Epoch 45/100, Loss: 1.2737\n",
      "Epoch 45/100, Loss: 1.2810\n",
      "Epoch 45/100, Loss: 3.1848\n",
      "Epoch 45/100, Loss: 1.1138\n",
      "Epoch 45/100, Loss: 1.6406\n",
      "Epoch 45/100, Loss: 1.2179\n",
      "Epoch 45/100, Loss: 1.7430\n",
      "Epoch 45/100, Loss: 1.5658\n",
      "Epoch 45/100, Loss: 2.2269\n",
      "Epoch 45/100, Loss: 1.7359\n",
      "Epoch 45/100, Loss: 1.9434\n",
      "Epoch 45/100, Loss: 2.0623\n",
      "Epoch 45/100, Loss: 1.5366\n",
      "Epoch 46/100, Loss: 1.7726\n",
      "Epoch 46/100, Loss: 2.5922\n",
      "Epoch 46/100, Loss: 1.1184\n",
      "Epoch 46/100, Loss: 2.3663\n",
      "Epoch 46/100, Loss: 1.3485\n",
      "Epoch 46/100, Loss: 2.4395\n",
      "Epoch 46/100, Loss: 3.0648\n",
      "Epoch 46/100, Loss: 1.1511\n",
      "Epoch 46/100, Loss: 1.4782\n",
      "Epoch 46/100, Loss: 1.6168\n",
      "Epoch 46/100, Loss: 0.7065\n",
      "Epoch 46/100, Loss: 1.2521\n",
      "Epoch 46/100, Loss: 1.0855\n",
      "Epoch 46/100, Loss: 1.6733\n",
      "Epoch 46/100, Loss: 2.0043\n",
      "Epoch 46/100, Loss: 3.0012\n",
      "Epoch 46/100, Loss: 2.9133\n",
      "Epoch 46/100, Loss: 3.2658\n",
      "Epoch 46/100, Loss: 2.0835\n",
      "Epoch 46/100, Loss: 1.6681\n",
      "Epoch 46/100, Loss: 0.7213\n",
      "Epoch 46/100, Loss: 0.9628\n",
      "Epoch 46/100, Loss: 1.4477\n",
      "Epoch 46/100, Loss: 1.6944\n",
      "Epoch 46/100, Loss: 2.3256\n",
      "Epoch 46/100, Loss: 2.9731\n",
      "Epoch 46/100, Loss: 1.6261\n",
      "Epoch 46/100, Loss: 1.1315\n",
      "Epoch 46/100, Loss: 1.2293\n",
      "Epoch 46/100, Loss: 2.0836\n",
      "Epoch 46/100, Loss: 2.6376\n",
      "Epoch 46/100, Loss: 1.2085\n",
      "Epoch 46/100, Loss: 2.2045\n",
      "Epoch 46/100, Loss: 1.1574\n",
      "Epoch 46/100, Loss: 1.8245\n",
      "Epoch 46/100, Loss: 0.7625\n",
      "Epoch 46/100, Loss: 2.4691\n",
      "Epoch 46/100, Loss: 2.4433\n",
      "Epoch 46/100, Loss: 2.1518\n",
      "Epoch 46/100, Loss: 2.0545\n",
      "Epoch 46/100, Loss: 1.5717\n",
      "Epoch 46/100, Loss: 1.5537\n",
      "Epoch 46/100, Loss: 1.2243\n",
      "Epoch 46/100, Loss: 1.5053\n",
      "Epoch 46/100, Loss: 1.3851\n",
      "Epoch 46/100, Loss: 2.3661\n",
      "Epoch 46/100, Loss: 1.2736\n",
      "Epoch 46/100, Loss: 1.4635\n",
      "Epoch 46/100, Loss: 0.7428\n",
      "Epoch 46/100, Loss: 2.7846\n",
      "Epoch 46/100, Loss: 1.7127\n",
      "Epoch 46/100, Loss: 1.6433\n",
      "Epoch 46/100, Loss: 1.2445\n",
      "Epoch 46/100, Loss: 1.1825\n",
      "Epoch 46/100, Loss: 1.9861\n",
      "Epoch 46/100, Loss: 1.9335\n",
      "Epoch 46/100, Loss: 1.5123\n",
      "Epoch 46/100, Loss: 0.7349\n",
      "Epoch 46/100, Loss: 3.1777\n",
      "Epoch 46/100, Loss: 2.5215\n",
      "Epoch 46/100, Loss: 1.1989\n",
      "Epoch 46/100, Loss: 2.2311\n",
      "Epoch 47/100, Loss: 1.1262\n",
      "Epoch 47/100, Loss: 1.6400\n",
      "Epoch 47/100, Loss: 1.0629\n",
      "Epoch 47/100, Loss: 2.0138\n",
      "Epoch 47/100, Loss: 2.0759\n",
      "Epoch 47/100, Loss: 1.1799\n",
      "Epoch 47/100, Loss: 1.5117\n",
      "Epoch 47/100, Loss: 2.9457\n",
      "Epoch 47/100, Loss: 0.7365\n",
      "Epoch 47/100, Loss: 0.6854\n",
      "Epoch 47/100, Loss: 2.9157\n",
      "Epoch 47/100, Loss: 1.3699\n",
      "Epoch 47/100, Loss: 2.6355\n",
      "Epoch 47/100, Loss: 1.5972\n",
      "Epoch 47/100, Loss: 1.6614\n",
      "Epoch 47/100, Loss: 1.3571\n",
      "Epoch 47/100, Loss: 1.1356\n",
      "Epoch 47/100, Loss: 0.6158\n",
      "Epoch 47/100, Loss: 1.7207\n",
      "Epoch 47/100, Loss: 0.5776\n",
      "Epoch 47/100, Loss: 0.5412\n",
      "Epoch 47/100, Loss: 1.4970\n",
      "Epoch 47/100, Loss: 1.1955\n",
      "Epoch 47/100, Loss: 1.7631\n",
      "Epoch 47/100, Loss: 1.6221\n",
      "Epoch 47/100, Loss: 2.6104\n",
      "Epoch 47/100, Loss: 1.1047\n",
      "Epoch 47/100, Loss: 1.0402\n",
      "Epoch 47/100, Loss: 2.3882\n",
      "Epoch 47/100, Loss: 3.1820\n",
      "Epoch 47/100, Loss: 1.2447\n",
      "Epoch 47/100, Loss: 1.1379\n",
      "Epoch 47/100, Loss: 1.3716\n",
      "Epoch 47/100, Loss: 1.4800\n",
      "Epoch 47/100, Loss: 3.4151\n",
      "Epoch 47/100, Loss: 1.6646\n",
      "Epoch 47/100, Loss: 2.5557\n",
      "Epoch 47/100, Loss: 1.2801\n",
      "Epoch 47/100, Loss: 2.1555\n",
      "Epoch 47/100, Loss: 2.0267\n",
      "Epoch 47/100, Loss: 3.0129\n",
      "Epoch 47/100, Loss: 2.8433\n",
      "Epoch 47/100, Loss: 1.0889\n",
      "Epoch 47/100, Loss: 2.4574\n",
      "Epoch 47/100, Loss: 1.5546\n",
      "Epoch 47/100, Loss: 2.0469\n",
      "Epoch 47/100, Loss: 3.1273\n",
      "Epoch 47/100, Loss: 2.2325\n",
      "Epoch 47/100, Loss: 1.8459\n",
      "Epoch 47/100, Loss: 2.4637\n",
      "Epoch 47/100, Loss: 1.8894\n",
      "Epoch 47/100, Loss: 1.0042\n",
      "Epoch 47/100, Loss: 1.4909\n",
      "Epoch 47/100, Loss: 2.2253\n",
      "Epoch 47/100, Loss: 2.4568\n",
      "Epoch 47/100, Loss: 1.9924\n",
      "Epoch 47/100, Loss: 1.4562\n",
      "Epoch 47/100, Loss: 2.5161\n",
      "Epoch 47/100, Loss: 1.2456\n",
      "Epoch 47/100, Loss: 1.7477\n",
      "Epoch 47/100, Loss: 1.2422\n",
      "Epoch 47/100, Loss: 2.4109\n",
      "Epoch 48/100, Loss: 1.3637\n",
      "Epoch 48/100, Loss: 1.6556\n",
      "Epoch 48/100, Loss: 2.8746\n",
      "Epoch 48/100, Loss: 2.8705\n",
      "Epoch 48/100, Loss: 0.7642\n",
      "Epoch 48/100, Loss: 1.6654\n",
      "Epoch 48/100, Loss: 1.3284\n",
      "Epoch 48/100, Loss: 1.3170\n",
      "Epoch 48/100, Loss: 3.0040\n",
      "Epoch 48/100, Loss: 1.3117\n",
      "Epoch 48/100, Loss: 1.2274\n",
      "Epoch 48/100, Loss: 1.2537\n",
      "Epoch 48/100, Loss: 3.0427\n",
      "Epoch 48/100, Loss: 2.4156\n",
      "Epoch 48/100, Loss: 2.5949\n",
      "Epoch 48/100, Loss: 2.2756\n",
      "Epoch 48/100, Loss: 1.9528\n",
      "Epoch 48/100, Loss: 2.6261\n",
      "Epoch 48/100, Loss: 1.1605\n",
      "Epoch 48/100, Loss: 0.8583\n",
      "Epoch 48/100, Loss: 1.4732\n",
      "Epoch 48/100, Loss: 2.4710\n",
      "Epoch 48/100, Loss: 1.3400\n",
      "Epoch 48/100, Loss: 1.7862\n",
      "Epoch 48/100, Loss: 1.4486\n",
      "Epoch 48/100, Loss: 1.0689\n",
      "Epoch 48/100, Loss: 1.1411\n",
      "Epoch 48/100, Loss: 2.8328\n",
      "Epoch 48/100, Loss: 2.3015\n",
      "Epoch 48/100, Loss: 1.2903\n",
      "Epoch 48/100, Loss: 2.1718\n",
      "Epoch 48/100, Loss: 2.3757\n",
      "Epoch 48/100, Loss: 1.2127\n",
      "Epoch 48/100, Loss: 0.8673\n",
      "Epoch 48/100, Loss: 1.5120\n",
      "Epoch 48/100, Loss: 1.2263\n",
      "Epoch 48/100, Loss: 2.1436\n",
      "Epoch 48/100, Loss: 1.1904\n",
      "Epoch 48/100, Loss: 1.6568\n",
      "Epoch 48/100, Loss: 1.1337\n",
      "Epoch 48/100, Loss: 2.4515\n",
      "Epoch 48/100, Loss: 1.9325\n",
      "Epoch 48/100, Loss: 1.9886\n",
      "Epoch 48/100, Loss: 1.2212\n",
      "Epoch 48/100, Loss: 2.0228\n",
      "Epoch 48/100, Loss: 1.8833\n",
      "Epoch 48/100, Loss: 0.7913\n",
      "Epoch 48/100, Loss: 1.5080\n",
      "Epoch 48/100, Loss: 3.2315\n",
      "Epoch 48/100, Loss: 2.6551\n",
      "Epoch 48/100, Loss: 1.7134\n",
      "Epoch 48/100, Loss: 1.9676\n",
      "Epoch 48/100, Loss: 1.5044\n",
      "Epoch 48/100, Loss: 2.1909\n",
      "Epoch 48/100, Loss: 1.6225\n",
      "Epoch 48/100, Loss: 1.0020\n",
      "Epoch 48/100, Loss: 1.6461\n",
      "Epoch 48/100, Loss: 0.7871\n",
      "Epoch 48/100, Loss: 1.1479\n",
      "Epoch 48/100, Loss: 1.7491\n",
      "Epoch 48/100, Loss: 2.4951\n",
      "Epoch 48/100, Loss: 2.2404\n",
      "Epoch 49/100, Loss: 1.9340\n",
      "Epoch 49/100, Loss: 1.1623\n",
      "Epoch 49/100, Loss: 1.6195\n",
      "Epoch 49/100, Loss: 1.1052\n",
      "Epoch 49/100, Loss: 1.1961\n",
      "Epoch 49/100, Loss: 1.1569\n",
      "Epoch 49/100, Loss: 3.0617\n",
      "Epoch 49/100, Loss: 1.8508\n",
      "Epoch 49/100, Loss: 1.8489\n",
      "Epoch 49/100, Loss: 2.2485\n",
      "Epoch 49/100, Loss: 2.0032\n",
      "Epoch 49/100, Loss: 1.8572\n",
      "Epoch 49/100, Loss: 1.5965\n",
      "Epoch 49/100, Loss: 3.1161\n",
      "Epoch 49/100, Loss: 1.3942\n",
      "Epoch 49/100, Loss: 2.9102\n",
      "Epoch 49/100, Loss: 1.6929\n",
      "Epoch 49/100, Loss: 0.9542\n",
      "Epoch 49/100, Loss: 1.4944\n",
      "Epoch 49/100, Loss: 2.5704\n",
      "Epoch 49/100, Loss: 2.5850\n",
      "Epoch 49/100, Loss: 2.9413\n",
      "Epoch 49/100, Loss: 2.1657\n",
      "Epoch 49/100, Loss: 2.4310\n",
      "Epoch 49/100, Loss: 1.1707\n",
      "Epoch 49/100, Loss: 1.4916\n",
      "Epoch 49/100, Loss: 1.8784\n",
      "Epoch 49/100, Loss: 1.4895\n",
      "Epoch 49/100, Loss: 1.7139\n",
      "Epoch 49/100, Loss: 1.2189\n",
      "Epoch 49/100, Loss: 1.5276\n",
      "Epoch 49/100, Loss: 1.1752\n",
      "Epoch 49/100, Loss: 0.8629\n",
      "Epoch 49/100, Loss: 2.1486\n",
      "Epoch 49/100, Loss: 1.2675\n",
      "Epoch 49/100, Loss: 1.2328\n",
      "Epoch 49/100, Loss: 1.7127\n",
      "Epoch 49/100, Loss: 1.6141\n",
      "Epoch 49/100, Loss: 0.8329\n",
      "Epoch 49/100, Loss: 1.2320\n",
      "Epoch 49/100, Loss: 2.4412\n",
      "Epoch 49/100, Loss: 2.3895\n",
      "Epoch 49/100, Loss: 1.3005\n",
      "Epoch 49/100, Loss: 1.1950\n",
      "Epoch 49/100, Loss: 2.9392\n",
      "Epoch 49/100, Loss: 1.4585\n",
      "Epoch 49/100, Loss: 2.6156\n",
      "Epoch 49/100, Loss: 1.1628\n",
      "Epoch 49/100, Loss: 3.1364\n",
      "Epoch 49/100, Loss: 0.8293\n",
      "Epoch 49/100, Loss: 2.1557\n",
      "Epoch 49/100, Loss: 0.7659\n",
      "Epoch 49/100, Loss: 1.4372\n",
      "Epoch 49/100, Loss: 1.1182\n",
      "Epoch 49/100, Loss: 2.4946\n",
      "Epoch 49/100, Loss: 2.2010\n",
      "Epoch 49/100, Loss: 0.6941\n",
      "Epoch 49/100, Loss: 1.4572\n",
      "Epoch 49/100, Loss: 1.7556\n",
      "Epoch 49/100, Loss: 2.4876\n",
      "Epoch 49/100, Loss: 1.6644\n",
      "Epoch 49/100, Loss: 2.4578\n",
      "Epoch 50/100, Loss: 0.6930\n",
      "Epoch 50/100, Loss: 1.1088\n",
      "Epoch 50/100, Loss: 1.1298\n",
      "Epoch 50/100, Loss: 1.0431\n",
      "Epoch 50/100, Loss: 2.4190\n",
      "Epoch 50/100, Loss: 1.0181\n",
      "Epoch 50/100, Loss: 1.6449\n",
      "Epoch 50/100, Loss: 0.9590\n",
      "Epoch 50/100, Loss: 1.1593\n",
      "Epoch 50/100, Loss: 0.6574\n",
      "Epoch 50/100, Loss: 1.6005\n",
      "Epoch 50/100, Loss: 3.0334\n",
      "Epoch 50/100, Loss: 2.3030\n",
      "Epoch 50/100, Loss: 1.1654\n",
      "Epoch 50/100, Loss: 2.0333\n",
      "Epoch 50/100, Loss: 2.5591\n",
      "Epoch 50/100, Loss: 2.4609\n",
      "Epoch 50/100, Loss: 2.0616\n",
      "Epoch 50/100, Loss: 3.1448\n",
      "Epoch 50/100, Loss: 0.6401\n",
      "Epoch 50/100, Loss: 1.2721\n",
      "Epoch 50/100, Loss: 1.6178\n",
      "Epoch 50/100, Loss: 2.9641\n",
      "Epoch 50/100, Loss: 1.1819\n",
      "Epoch 50/100, Loss: 1.2846\n",
      "Epoch 50/100, Loss: 1.4595\n",
      "Epoch 50/100, Loss: 1.6638\n",
      "Epoch 50/100, Loss: 2.6080\n",
      "Epoch 50/100, Loss: 1.0531\n",
      "Epoch 50/100, Loss: 2.1813\n",
      "Epoch 50/100, Loss: 2.1703\n",
      "Epoch 50/100, Loss: 0.5973\n",
      "Epoch 50/100, Loss: 0.5585\n",
      "Epoch 50/100, Loss: 1.5111\n",
      "Epoch 50/100, Loss: 1.9284\n",
      "Epoch 50/100, Loss: 2.9211\n",
      "Epoch 50/100, Loss: 2.2099\n",
      "Epoch 50/100, Loss: 1.7324\n",
      "Epoch 50/100, Loss: 1.5217\n",
      "Epoch 50/100, Loss: 1.4458\n",
      "Epoch 50/100, Loss: 3.1263\n",
      "Epoch 50/100, Loss: 2.5654\n",
      "Epoch 50/100, Loss: 1.7210\n",
      "Epoch 50/100, Loss: 1.2721\n",
      "Epoch 50/100, Loss: 1.6265\n",
      "Epoch 50/100, Loss: 1.5750\n",
      "Epoch 50/100, Loss: 2.4124\n",
      "Epoch 50/100, Loss: 2.6001\n",
      "Epoch 50/100, Loss: 2.0244\n",
      "Epoch 50/100, Loss: 1.3729\n",
      "Epoch 50/100, Loss: 1.7235\n",
      "Epoch 50/100, Loss: 2.9463\n",
      "Epoch 50/100, Loss: 3.3598\n",
      "Epoch 50/100, Loss: 1.1885\n",
      "Epoch 50/100, Loss: 2.4446\n",
      "Epoch 50/100, Loss: 1.3566\n",
      "Epoch 50/100, Loss: 1.2492\n",
      "Epoch 50/100, Loss: 1.8757\n",
      "Epoch 50/100, Loss: 2.0630\n",
      "Epoch 50/100, Loss: 1.0189\n",
      "Epoch 50/100, Loss: 1.4313\n",
      "Epoch 50/100, Loss: 1.5567\n",
      "Epoch 51/100, Loss: 0.7469\n",
      "Epoch 51/100, Loss: 1.6291\n",
      "Epoch 51/100, Loss: 1.1530\n",
      "Epoch 51/100, Loss: 1.5658\n",
      "Epoch 51/100, Loss: 1.2528\n",
      "Epoch 51/100, Loss: 2.0612\n",
      "Epoch 51/100, Loss: 1.6121\n",
      "Epoch 51/100, Loss: 2.3003\n",
      "Epoch 51/100, Loss: 1.1616\n",
      "Epoch 51/100, Loss: 2.5807\n",
      "Epoch 51/100, Loss: 1.8321\n",
      "Epoch 51/100, Loss: 2.5402\n",
      "Epoch 51/100, Loss: 2.2881\n",
      "Epoch 51/100, Loss: 1.7350\n",
      "Epoch 51/100, Loss: 1.9406\n",
      "Epoch 51/100, Loss: 1.6490\n",
      "Epoch 51/100, Loss: 2.1104\n",
      "Epoch 51/100, Loss: 1.2078\n",
      "Epoch 51/100, Loss: 1.2534\n",
      "Epoch 51/100, Loss: 1.3670\n",
      "Epoch 51/100, Loss: 1.8749\n",
      "Epoch 51/100, Loss: 2.4088\n",
      "Epoch 51/100, Loss: 2.1367\n",
      "Epoch 51/100, Loss: 1.5423\n",
      "Epoch 51/100, Loss: 1.5278\n",
      "Epoch 51/100, Loss: 1.1370\n",
      "Epoch 51/100, Loss: 0.7447\n",
      "Epoch 51/100, Loss: 2.8739\n",
      "Epoch 51/100, Loss: 1.6562\n",
      "Epoch 51/100, Loss: 2.9009\n",
      "Epoch 51/100, Loss: 3.1091\n",
      "Epoch 51/100, Loss: 1.4972\n",
      "Epoch 51/100, Loss: 1.2899\n",
      "Epoch 51/100, Loss: 2.3844\n",
      "Epoch 51/100, Loss: 1.2133\n",
      "Epoch 51/100, Loss: 0.7511\n",
      "Epoch 51/100, Loss: 1.9922\n",
      "Epoch 51/100, Loss: 1.5332\n",
      "Epoch 51/100, Loss: 1.5099\n",
      "Epoch 51/100, Loss: 1.1831\n",
      "Epoch 51/100, Loss: 2.1810\n",
      "Epoch 51/100, Loss: 3.0823\n",
      "Epoch 51/100, Loss: 1.1914\n",
      "Epoch 51/100, Loss: 2.4207\n",
      "Epoch 51/100, Loss: 1.5039\n",
      "Epoch 51/100, Loss: 2.9634\n",
      "Epoch 51/100, Loss: 1.2672\n",
      "Epoch 51/100, Loss: 3.1404\n",
      "Epoch 51/100, Loss: 1.6068\n",
      "Epoch 51/100, Loss: 2.4767\n",
      "Epoch 51/100, Loss: 1.2351\n",
      "Epoch 51/100, Loss: 2.6690\n",
      "Epoch 51/100, Loss: 1.9295\n",
      "Epoch 51/100, Loss: 1.0213\n",
      "Epoch 51/100, Loss: 1.1940\n",
      "Epoch 51/100, Loss: 1.1584\n",
      "Epoch 51/100, Loss: 1.4488\n",
      "Epoch 51/100, Loss: 0.8504\n",
      "Epoch 51/100, Loss: 1.8418\n",
      "Epoch 51/100, Loss: 2.4236\n",
      "Epoch 51/100, Loss: 0.7795\n",
      "Epoch 51/100, Loss: 1.4145\n",
      "Epoch 52/100, Loss: 1.0848\n",
      "Epoch 52/100, Loss: 1.6351\n",
      "Epoch 52/100, Loss: 1.6260\n",
      "Epoch 52/100, Loss: 1.4337\n",
      "Epoch 52/100, Loss: 0.7403\n",
      "Epoch 52/100, Loss: 0.6876\n",
      "Epoch 52/100, Loss: 2.8170\n",
      "Epoch 52/100, Loss: 2.1049\n",
      "Epoch 52/100, Loss: 1.2180\n",
      "Epoch 52/100, Loss: 2.0775\n",
      "Epoch 52/100, Loss: 3.0437\n",
      "Epoch 52/100, Loss: 1.1805\n",
      "Epoch 52/100, Loss: 1.3745\n",
      "Epoch 52/100, Loss: 1.6512\n",
      "Epoch 52/100, Loss: 1.8196\n",
      "Epoch 52/100, Loss: 2.0303\n",
      "Epoch 52/100, Loss: 1.2624\n",
      "Epoch 52/100, Loss: 0.6697\n",
      "Epoch 52/100, Loss: 2.3947\n",
      "Epoch 52/100, Loss: 1.1475\n",
      "Epoch 52/100, Loss: 2.5310\n",
      "Epoch 52/100, Loss: 1.1685\n",
      "Epoch 52/100, Loss: 1.3074\n",
      "Epoch 52/100, Loss: 0.6277\n",
      "Epoch 52/100, Loss: 1.7541\n",
      "Epoch 52/100, Loss: 1.8760\n",
      "Epoch 52/100, Loss: 1.7192\n",
      "Epoch 52/100, Loss: 1.1722\n",
      "Epoch 52/100, Loss: 1.2995\n",
      "Epoch 52/100, Loss: 2.6034\n",
      "Epoch 52/100, Loss: 2.9246\n",
      "Epoch 52/100, Loss: 2.0503\n",
      "Epoch 52/100, Loss: 1.4941\n",
      "Epoch 52/100, Loss: 0.5591\n",
      "Epoch 52/100, Loss: 1.1789\n",
      "Epoch 52/100, Loss: 2.8451\n",
      "Epoch 52/100, Loss: 1.9439\n",
      "Epoch 52/100, Loss: 2.5207\n",
      "Epoch 52/100, Loss: 1.1770\n",
      "Epoch 52/100, Loss: 1.6062\n",
      "Epoch 52/100, Loss: 1.2100\n",
      "Epoch 52/100, Loss: 2.5091\n",
      "Epoch 52/100, Loss: 1.6283\n",
      "Epoch 52/100, Loss: 3.2336\n",
      "Epoch 52/100, Loss: 1.1117\n",
      "Epoch 52/100, Loss: 1.1292\n",
      "Epoch 52/100, Loss: 1.4863\n",
      "Epoch 52/100, Loss: 2.0629\n",
      "Epoch 52/100, Loss: 2.4084\n",
      "Epoch 52/100, Loss: 2.5421\n",
      "Epoch 52/100, Loss: 2.1948\n",
      "Epoch 52/100, Loss: 1.0355\n",
      "Epoch 52/100, Loss: 1.0969\n",
      "Epoch 52/100, Loss: 3.1433\n",
      "Epoch 52/100, Loss: 1.6194\n",
      "Epoch 52/100, Loss: 1.5085\n",
      "Epoch 52/100, Loss: 2.4158\n",
      "Epoch 52/100, Loss: 1.2887\n",
      "Epoch 52/100, Loss: 2.4838\n",
      "Epoch 52/100, Loss: 1.6111\n",
      "Epoch 52/100, Loss: 3.0063\n",
      "Epoch 52/100, Loss: 1.6225\n",
      "Epoch 53/100, Loss: 1.1321\n",
      "Epoch 53/100, Loss: 2.3162\n",
      "Epoch 53/100, Loss: 1.4877\n",
      "Epoch 53/100, Loss: 1.4939\n",
      "Epoch 53/100, Loss: 1.7023\n",
      "Epoch 53/100, Loss: 0.7857\n",
      "Epoch 53/100, Loss: 1.6308\n",
      "Epoch 53/100, Loss: 1.7809\n",
      "Epoch 53/100, Loss: 1.1531\n",
      "Epoch 53/100, Loss: 2.0571\n",
      "Epoch 53/100, Loss: 1.3921\n",
      "Epoch 53/100, Loss: 1.8515\n",
      "Epoch 53/100, Loss: 1.1377\n",
      "Epoch 53/100, Loss: 1.1260\n",
      "Epoch 53/100, Loss: 1.1665\n",
      "Epoch 53/100, Loss: 1.0698\n",
      "Epoch 53/100, Loss: 3.1159\n",
      "Epoch 53/100, Loss: 2.2854\n",
      "Epoch 53/100, Loss: 2.2978\n",
      "Epoch 53/100, Loss: 1.2141\n",
      "Epoch 53/100, Loss: 1.4893\n",
      "Epoch 53/100, Loss: 1.6777\n",
      "Epoch 53/100, Loss: 1.1970\n",
      "Epoch 53/100, Loss: 1.3038\n",
      "Epoch 53/100, Loss: 2.1712\n",
      "Epoch 53/100, Loss: 1.0316\n",
      "Epoch 53/100, Loss: 2.1696\n",
      "Epoch 53/100, Loss: 2.4553\n",
      "Epoch 53/100, Loss: 2.9523\n",
      "Epoch 53/100, Loss: 1.1531\n",
      "Epoch 53/100, Loss: 1.1887\n",
      "Epoch 53/100, Loss: 2.0422\n",
      "Epoch 53/100, Loss: 2.3647\n",
      "Epoch 53/100, Loss: 1.0539\n",
      "Epoch 53/100, Loss: 2.5354\n",
      "Epoch 53/100, Loss: 2.5567\n",
      "Epoch 53/100, Loss: 2.1132\n",
      "Epoch 53/100, Loss: 1.6185\n",
      "Epoch 53/100, Loss: 1.2497\n",
      "Epoch 53/100, Loss: 2.0535\n",
      "Epoch 53/100, Loss: 0.9251\n",
      "Epoch 53/100, Loss: 1.6898\n",
      "Epoch 53/100, Loss: 1.5563\n",
      "Epoch 53/100, Loss: 0.8594\n",
      "Epoch 53/100, Loss: 0.7952\n",
      "Epoch 53/100, Loss: 1.3469\n",
      "Epoch 53/100, Loss: 1.3683\n",
      "Epoch 53/100, Loss: 2.9728\n",
      "Epoch 53/100, Loss: 1.7046\n",
      "Epoch 53/100, Loss: 2.6075\n",
      "Epoch 53/100, Loss: 1.1523\n",
      "Epoch 53/100, Loss: 1.5545\n",
      "Epoch 53/100, Loss: 1.0856\n",
      "Epoch 53/100, Loss: 0.7355\n",
      "Epoch 53/100, Loss: 2.9333\n",
      "Epoch 53/100, Loss: 1.8116\n",
      "Epoch 53/100, Loss: 3.2369\n",
      "Epoch 53/100, Loss: 2.3641\n",
      "Epoch 53/100, Loss: 2.5345\n",
      "Epoch 53/100, Loss: 1.4495\n",
      "Epoch 53/100, Loss: 3.1076\n",
      "Epoch 53/100, Loss: 2.0382\n",
      "Epoch 54/100, Loss: 1.9254\n",
      "Epoch 54/100, Loss: 1.6092\n",
      "Epoch 54/100, Loss: 1.4932\n",
      "Epoch 54/100, Loss: 2.0646\n",
      "Epoch 54/100, Loss: 1.1971\n",
      "Epoch 54/100, Loss: 0.6998\n",
      "Epoch 54/100, Loss: 2.4408\n",
      "Epoch 54/100, Loss: 1.6389\n",
      "Epoch 54/100, Loss: 1.0838\n",
      "Epoch 54/100, Loss: 2.3521\n",
      "Epoch 54/100, Loss: 2.1068\n",
      "Epoch 54/100, Loss: 1.6813\n",
      "Epoch 54/100, Loss: 2.2948\n",
      "Epoch 54/100, Loss: 2.8555\n",
      "Epoch 54/100, Loss: 2.8017\n",
      "Epoch 54/100, Loss: 2.3860\n",
      "Epoch 54/100, Loss: 2.5050\n",
      "Epoch 54/100, Loss: 3.0695\n",
      "Epoch 54/100, Loss: 3.0163\n",
      "Epoch 54/100, Loss: 2.3483\n",
      "Epoch 54/100, Loss: 2.0191\n",
      "Epoch 54/100, Loss: 2.0460\n",
      "Epoch 54/100, Loss: 1.6013\n",
      "Epoch 54/100, Loss: 3.0922\n",
      "Epoch 54/100, Loss: 0.8225\n",
      "Epoch 54/100, Loss: 1.4430\n",
      "Epoch 54/100, Loss: 1.2994\n",
      "Epoch 54/100, Loss: 1.2764\n",
      "Epoch 54/100, Loss: 2.6088\n",
      "Epoch 54/100, Loss: 1.6108\n",
      "Epoch 54/100, Loss: 1.8319\n",
      "Epoch 54/100, Loss: 2.8844\n",
      "Epoch 54/100, Loss: 2.4828\n",
      "Epoch 54/100, Loss: 1.2742\n",
      "Epoch 54/100, Loss: 1.4775\n",
      "Epoch 54/100, Loss: 1.1984\n",
      "Epoch 54/100, Loss: 1.1267\n",
      "Epoch 54/100, Loss: 0.8184\n",
      "Epoch 54/100, Loss: 1.1411\n",
      "Epoch 54/100, Loss: 1.3958\n",
      "Epoch 54/100, Loss: 2.0335\n",
      "Epoch 54/100, Loss: 1.7858\n",
      "Epoch 54/100, Loss: 0.7826\n",
      "Epoch 54/100, Loss: 1.1544\n",
      "Epoch 54/100, Loss: 1.5572\n",
      "Epoch 54/100, Loss: 1.9925\n",
      "Epoch 54/100, Loss: 1.8383\n",
      "Epoch 54/100, Loss: 1.2261\n",
      "Epoch 54/100, Loss: 2.6375\n",
      "Epoch 54/100, Loss: 1.3318\n",
      "Epoch 54/100, Loss: 1.6709\n",
      "Epoch 54/100, Loss: 1.0353\n",
      "Epoch 54/100, Loss: 1.2484\n",
      "Epoch 54/100, Loss: 0.7102\n",
      "Epoch 54/100, Loss: 1.2511\n",
      "Epoch 54/100, Loss: 1.4312\n",
      "Epoch 54/100, Loss: 1.1858\n",
      "Epoch 54/100, Loss: 1.5265\n",
      "Epoch 54/100, Loss: 1.3995\n",
      "Epoch 54/100, Loss: 1.6725\n",
      "Epoch 54/100, Loss: 2.4766\n",
      "Epoch 54/100, Loss: 1.1765\n",
      "Epoch 55/100, Loss: 1.8022\n",
      "Epoch 55/100, Loss: 2.4781\n",
      "Epoch 55/100, Loss: 1.4262\n",
      "Epoch 55/100, Loss: 1.4876\n",
      "Epoch 55/100, Loss: 2.0826\n",
      "Epoch 55/100, Loss: 1.0552\n",
      "Epoch 55/100, Loss: 2.4401\n",
      "Epoch 55/100, Loss: 1.9264\n",
      "Epoch 55/100, Loss: 1.1177\n",
      "Epoch 55/100, Loss: 1.3763\n",
      "Epoch 55/100, Loss: 1.9843\n",
      "Epoch 55/100, Loss: 1.2130\n",
      "Epoch 55/100, Loss: 1.1857\n",
      "Epoch 55/100, Loss: 0.7293\n",
      "Epoch 55/100, Loss: 1.1373\n",
      "Epoch 55/100, Loss: 1.1107\n",
      "Epoch 55/100, Loss: 2.6065\n",
      "Epoch 55/100, Loss: 1.6575\n",
      "Epoch 55/100, Loss: 1.4236\n",
      "Epoch 55/100, Loss: 2.3277\n",
      "Epoch 55/100, Loss: 1.7998\n",
      "Epoch 55/100, Loss: 1.2355\n",
      "Epoch 55/100, Loss: 1.6886\n",
      "Epoch 55/100, Loss: 1.0758\n",
      "Epoch 55/100, Loss: 0.7200\n",
      "Epoch 55/100, Loss: 0.6685\n",
      "Epoch 55/100, Loss: 1.3576\n",
      "Epoch 55/100, Loss: 3.0959\n",
      "Epoch 55/100, Loss: 2.4550\n",
      "Epoch 55/100, Loss: 0.6232\n",
      "Epoch 55/100, Loss: 1.2098\n",
      "Epoch 55/100, Loss: 1.0686\n",
      "Epoch 55/100, Loss: 2.4772\n",
      "Epoch 55/100, Loss: 1.7692\n",
      "Epoch 55/100, Loss: 1.1103\n",
      "Epoch 55/100, Loss: 1.6507\n",
      "Epoch 55/100, Loss: 1.4947\n",
      "Epoch 55/100, Loss: 1.7451\n",
      "Epoch 55/100, Loss: 1.4268\n",
      "Epoch 55/100, Loss: 3.2321\n",
      "Epoch 55/100, Loss: 1.0498\n",
      "Epoch 55/100, Loss: 1.7165\n",
      "Epoch 55/100, Loss: 2.4928\n",
      "Epoch 55/100, Loss: 1.6086\n",
      "Epoch 55/100, Loss: 2.1964\n",
      "Epoch 55/100, Loss: 2.3798\n",
      "Epoch 55/100, Loss: 2.9422\n",
      "Epoch 55/100, Loss: 1.7070\n",
      "Epoch 55/100, Loss: 1.3991\n",
      "Epoch 55/100, Loss: 1.0722\n",
      "Epoch 55/100, Loss: 1.3366\n",
      "Epoch 55/100, Loss: 2.1869\n",
      "Epoch 55/100, Loss: 2.9832\n",
      "Epoch 55/100, Loss: 2.3722\n",
      "Epoch 55/100, Loss: 1.1305\n",
      "Epoch 55/100, Loss: 1.0989\n",
      "Epoch 55/100, Loss: 2.5672\n",
      "Epoch 55/100, Loss: 2.0467\n",
      "Epoch 55/100, Loss: 3.1546\n",
      "Epoch 55/100, Loss: 2.2233\n",
      "Epoch 55/100, Loss: 2.9748\n",
      "Epoch 55/100, Loss: 0.7417\n",
      "Epoch 56/100, Loss: 1.1896\n",
      "Epoch 56/100, Loss: 2.4306\n",
      "Epoch 56/100, Loss: 1.1853\n",
      "Epoch 56/100, Loss: 2.2504\n",
      "Epoch 56/100, Loss: 1.1046\n",
      "Epoch 56/100, Loss: 1.0502\n",
      "Epoch 56/100, Loss: 0.6705\n",
      "Epoch 56/100, Loss: 2.9753\n",
      "Epoch 56/100, Loss: 2.0356\n",
      "Epoch 56/100, Loss: 2.7710\n",
      "Epoch 56/100, Loss: 1.1737\n",
      "Epoch 56/100, Loss: 2.0484\n",
      "Epoch 56/100, Loss: 1.4042\n",
      "Epoch 56/100, Loss: 1.3812\n",
      "Epoch 56/100, Loss: 1.7287\n",
      "Epoch 56/100, Loss: 1.6999\n",
      "Epoch 56/100, Loss: 2.5415\n",
      "Epoch 56/100, Loss: 2.0094\n",
      "Epoch 56/100, Loss: 2.2993\n",
      "Epoch 56/100, Loss: 1.2827\n",
      "Epoch 56/100, Loss: 1.4443\n",
      "Epoch 56/100, Loss: 2.0297\n",
      "Epoch 56/100, Loss: 1.2083\n",
      "Epoch 56/100, Loss: 1.5432\n",
      "Epoch 56/100, Loss: 1.4190\n",
      "Epoch 56/100, Loss: 1.5174\n",
      "Epoch 56/100, Loss: 1.6325\n",
      "Epoch 56/100, Loss: 1.6714\n",
      "Epoch 56/100, Loss: 1.1360\n",
      "Epoch 56/100, Loss: 2.4915\n",
      "Epoch 56/100, Loss: 2.4077\n",
      "Epoch 56/100, Loss: 2.7029\n",
      "Epoch 56/100, Loss: 2.3241\n",
      "Epoch 56/100, Loss: 1.2641\n",
      "Epoch 56/100, Loss: 1.5952\n",
      "Epoch 56/100, Loss: 0.7577\n",
      "Epoch 56/100, Loss: 1.6035\n",
      "Epoch 56/100, Loss: 1.9325\n",
      "Epoch 56/100, Loss: 2.4512\n",
      "Epoch 56/100, Loss: 1.5455\n",
      "Epoch 56/100, Loss: 2.3386\n",
      "Epoch 56/100, Loss: 1.2843\n",
      "Epoch 56/100, Loss: 1.1884\n",
      "Epoch 56/100, Loss: 1.7497\n",
      "Epoch 56/100, Loss: 0.8093\n",
      "Epoch 56/100, Loss: 1.8167\n",
      "Epoch 56/100, Loss: 2.8642\n",
      "Epoch 56/100, Loss: 1.3296\n",
      "Epoch 56/100, Loss: 3.0977\n",
      "Epoch 56/100, Loss: 1.6224\n",
      "Epoch 56/100, Loss: 1.2716\n",
      "Epoch 56/100, Loss: 2.1737\n",
      "Epoch 56/100, Loss: 2.2196\n",
      "Epoch 56/100, Loss: 2.9011\n",
      "Epoch 56/100, Loss: 1.5617\n",
      "Epoch 56/100, Loss: 0.7356\n",
      "Epoch 56/100, Loss: 1.0264\n",
      "Epoch 56/100, Loss: 1.2211\n",
      "Epoch 56/100, Loss: 1.1472\n",
      "Epoch 56/100, Loss: 3.1743\n",
      "Epoch 56/100, Loss: 0.7384\n",
      "Epoch 56/100, Loss: 1.3927\n",
      "Epoch 57/100, Loss: 0.6802\n",
      "Epoch 57/100, Loss: 2.2024\n",
      "Epoch 57/100, Loss: 2.8327\n",
      "Epoch 57/100, Loss: 1.2037\n",
      "Epoch 57/100, Loss: 1.9729\n",
      "Epoch 57/100, Loss: 1.3153\n",
      "Epoch 57/100, Loss: 1.1644\n",
      "Epoch 57/100, Loss: 3.1125\n",
      "Epoch 57/100, Loss: 1.1965\n",
      "Epoch 57/100, Loss: 0.6992\n",
      "Epoch 57/100, Loss: 1.4854\n",
      "Epoch 57/100, Loss: 2.0884\n",
      "Epoch 57/100, Loss: 1.5057\n",
      "Epoch 57/100, Loss: 1.4642\n",
      "Epoch 57/100, Loss: 1.0342\n",
      "Epoch 57/100, Loss: 1.3904\n",
      "Epoch 57/100, Loss: 1.4892\n",
      "Epoch 57/100, Loss: 2.1377\n",
      "Epoch 57/100, Loss: 1.6476\n",
      "Epoch 57/100, Loss: 3.0271\n",
      "Epoch 57/100, Loss: 2.4862\n",
      "Epoch 57/100, Loss: 2.1731\n",
      "Epoch 57/100, Loss: 2.3499\n",
      "Epoch 57/100, Loss: 1.4354\n",
      "Epoch 57/100, Loss: 1.1508\n",
      "Epoch 57/100, Loss: 1.6267\n",
      "Epoch 57/100, Loss: 1.8026\n",
      "Epoch 57/100, Loss: 2.3557\n",
      "Epoch 57/100, Loss: 1.2848\n",
      "Epoch 57/100, Loss: 2.4412\n",
      "Epoch 57/100, Loss: 2.8331\n",
      "Epoch 57/100, Loss: 1.1529\n",
      "Epoch 57/100, Loss: 1.1490\n",
      "Epoch 57/100, Loss: 0.7889\n",
      "Epoch 57/100, Loss: 2.0775\n",
      "Epoch 57/100, Loss: 1.6725\n",
      "Epoch 57/100, Loss: 1.1235\n",
      "Epoch 57/100, Loss: 1.2254\n",
      "Epoch 57/100, Loss: 1.0899\n",
      "Epoch 57/100, Loss: 1.0534\n",
      "Epoch 57/100, Loss: 2.5664\n",
      "Epoch 57/100, Loss: 1.1869\n",
      "Epoch 57/100, Loss: 1.6899\n",
      "Epoch 57/100, Loss: 2.9602\n",
      "Epoch 57/100, Loss: 3.1152\n",
      "Epoch 57/100, Loss: 1.8627\n",
      "Epoch 57/100, Loss: 0.9646\n",
      "Epoch 57/100, Loss: 1.5746\n",
      "Epoch 57/100, Loss: 1.6568\n",
      "Epoch 57/100, Loss: 2.2028\n",
      "Epoch 57/100, Loss: 2.4863\n",
      "Epoch 57/100, Loss: 1.3615\n",
      "Epoch 57/100, Loss: 1.7092\n",
      "Epoch 57/100, Loss: 2.0197\n",
      "Epoch 57/100, Loss: 1.2258\n",
      "Epoch 57/100, Loss: 2.4607\n",
      "Epoch 57/100, Loss: 2.3477\n",
      "Epoch 57/100, Loss: 0.7302\n",
      "Epoch 57/100, Loss: 1.1637\n",
      "Epoch 57/100, Loss: 0.6768\n",
      "Epoch 57/100, Loss: 2.7734\n",
      "Epoch 57/100, Loss: 1.7051\n",
      "Epoch 58/100, Loss: 1.7499\n",
      "Epoch 58/100, Loss: 1.5750\n",
      "Epoch 58/100, Loss: 0.6824\n",
      "Epoch 58/100, Loss: 0.6342\n",
      "Epoch 58/100, Loss: 0.5906\n",
      "Epoch 58/100, Loss: 2.0777\n",
      "Epoch 58/100, Loss: 3.0336\n",
      "Epoch 58/100, Loss: 1.1584\n",
      "Epoch 58/100, Loss: 1.2397\n",
      "Epoch 58/100, Loss: 1.4089\n",
      "Epoch 58/100, Loss: 1.1374\n",
      "Epoch 58/100, Loss: 1.2388\n",
      "Epoch 58/100, Loss: 1.5016\n",
      "Epoch 58/100, Loss: 3.0246\n",
      "Epoch 58/100, Loss: 1.0943\n",
      "Epoch 58/100, Loss: 2.0534\n",
      "Epoch 58/100, Loss: 2.4307\n",
      "Epoch 58/100, Loss: 1.7630\n",
      "Epoch 58/100, Loss: 1.6289\n",
      "Epoch 58/100, Loss: 2.5535\n",
      "Epoch 58/100, Loss: 2.4529\n",
      "Epoch 58/100, Loss: 1.5136\n",
      "Epoch 58/100, Loss: 1.6758\n",
      "Epoch 58/100, Loss: 1.1955\n",
      "Epoch 58/100, Loss: 1.5674\n",
      "Epoch 58/100, Loss: 2.1016\n",
      "Epoch 58/100, Loss: 2.6421\n",
      "Epoch 58/100, Loss: 2.0956\n",
      "Epoch 58/100, Loss: 2.5090\n",
      "Epoch 58/100, Loss: 1.1848\n",
      "Epoch 58/100, Loss: 1.2425\n",
      "Epoch 58/100, Loss: 3.1141\n",
      "Epoch 58/100, Loss: 1.5267\n",
      "Epoch 58/100, Loss: 2.0266\n",
      "Epoch 58/100, Loss: 1.4656\n",
      "Epoch 58/100, Loss: 1.8964\n",
      "Epoch 58/100, Loss: 0.7702\n",
      "Epoch 58/100, Loss: 2.8654\n",
      "Epoch 58/100, Loss: 1.6365\n",
      "Epoch 58/100, Loss: 2.8504\n",
      "Epoch 58/100, Loss: 1.1871\n",
      "Epoch 58/100, Loss: 1.2165\n",
      "Epoch 58/100, Loss: 2.2812\n",
      "Epoch 58/100, Loss: 0.7322\n",
      "Epoch 58/100, Loss: 2.0686\n",
      "Epoch 58/100, Loss: 1.5996\n",
      "Epoch 58/100, Loss: 1.5430\n",
      "Epoch 58/100, Loss: 2.4180\n",
      "Epoch 58/100, Loss: 2.2694\n",
      "Epoch 58/100, Loss: 1.4642\n",
      "Epoch 58/100, Loss: 1.5521\n",
      "Epoch 58/100, Loss: 1.2319\n",
      "Epoch 58/100, Loss: 1.7117\n",
      "Epoch 58/100, Loss: 1.0325\n",
      "Epoch 58/100, Loss: 1.1607\n",
      "Epoch 58/100, Loss: 1.0894\n",
      "Epoch 58/100, Loss: 2.9984\n",
      "Epoch 58/100, Loss: 1.2786\n",
      "Epoch 58/100, Loss: 2.4948\n",
      "Epoch 58/100, Loss: 2.6033\n",
      "Epoch 58/100, Loss: 1.0922\n",
      "Epoch 58/100, Loss: 1.1390\n",
      "Epoch 59/100, Loss: 1.5214\n",
      "Epoch 59/100, Loss: 0.6986\n",
      "Epoch 59/100, Loss: 2.3735\n",
      "Epoch 59/100, Loss: 2.2638\n",
      "Epoch 59/100, Loss: 1.0702\n",
      "Epoch 59/100, Loss: 2.3670\n",
      "Epoch 59/100, Loss: 2.0843\n",
      "Epoch 59/100, Loss: 2.0103\n",
      "Epoch 59/100, Loss: 0.7044\n",
      "Epoch 59/100, Loss: 3.0266\n",
      "Epoch 59/100, Loss: 1.1338\n",
      "Epoch 59/100, Loss: 2.4578\n",
      "Epoch 59/100, Loss: 1.7793\n",
      "Epoch 59/100, Loss: 1.3009\n",
      "Epoch 59/100, Loss: 2.7101\n",
      "Epoch 59/100, Loss: 1.5263\n",
      "Epoch 59/100, Loss: 0.6844\n",
      "Epoch 59/100, Loss: 1.1590\n",
      "Epoch 59/100, Loss: 1.0880\n",
      "Epoch 59/100, Loss: 1.1746\n",
      "Epoch 59/100, Loss: 1.2246\n",
      "Epoch 59/100, Loss: 3.0643\n",
      "Epoch 59/100, Loss: 2.8995\n",
      "Epoch 59/100, Loss: 1.3913\n",
      "Epoch 59/100, Loss: 1.0845\n",
      "Epoch 59/100, Loss: 1.4295\n",
      "Epoch 59/100, Loss: 1.7919\n",
      "Epoch 59/100, Loss: 1.1794\n",
      "Epoch 59/100, Loss: 1.6102\n",
      "Epoch 59/100, Loss: 2.4475\n",
      "Epoch 59/100, Loss: 1.6893\n",
      "Epoch 59/100, Loss: 2.0052\n",
      "Epoch 59/100, Loss: 1.1886\n",
      "Epoch 59/100, Loss: 1.4580\n",
      "Epoch 59/100, Loss: 3.0563\n",
      "Epoch 59/100, Loss: 1.6175\n",
      "Epoch 59/100, Loss: 1.0213\n",
      "Epoch 59/100, Loss: 2.9175\n",
      "Epoch 59/100, Loss: 0.9824\n",
      "Epoch 59/100, Loss: 2.2755\n",
      "Epoch 59/100, Loss: 1.3596\n",
      "Epoch 59/100, Loss: 0.7760\n",
      "Epoch 59/100, Loss: 2.5663\n",
      "Epoch 59/100, Loss: 2.1095\n",
      "Epoch 59/100, Loss: 2.9250\n",
      "Epoch 59/100, Loss: 2.1356\n",
      "Epoch 59/100, Loss: 2.1373\n",
      "Epoch 59/100, Loss: 1.2028\n",
      "Epoch 59/100, Loss: 2.4201\n",
      "Epoch 59/100, Loss: 0.7744\n",
      "Epoch 59/100, Loss: 1.1963\n",
      "Epoch 59/100, Loss: 1.5938\n",
      "Epoch 59/100, Loss: 2.4604\n",
      "Epoch 59/100, Loss: 1.6525\n",
      "Epoch 59/100, Loss: 1.7320\n",
      "Epoch 59/100, Loss: 2.0150\n",
      "Epoch 59/100, Loss: 1.6837\n",
      "Epoch 59/100, Loss: 1.2493\n",
      "Epoch 59/100, Loss: 1.4968\n",
      "Epoch 59/100, Loss: 1.0880\n",
      "Epoch 59/100, Loss: 1.5910\n",
      "Epoch 59/100, Loss: 1.1850\n",
      "Epoch 60/100, Loss: 1.9392\n",
      "Epoch 60/100, Loss: 2.0364\n",
      "Epoch 60/100, Loss: 1.9471\n",
      "Epoch 60/100, Loss: 1.7102\n",
      "Epoch 60/100, Loss: 0.6987\n",
      "Epoch 60/100, Loss: 1.6108\n",
      "Epoch 60/100, Loss: 2.6179\n",
      "Epoch 60/100, Loss: 2.3916\n",
      "Epoch 60/100, Loss: 1.3969\n",
      "Epoch 60/100, Loss: 1.2463\n",
      "Epoch 60/100, Loss: 1.5961\n",
      "Epoch 60/100, Loss: 2.4542\n",
      "Epoch 60/100, Loss: 1.4833\n",
      "Epoch 60/100, Loss: 2.3466\n",
      "Epoch 60/100, Loss: 1.5439\n",
      "Epoch 60/100, Loss: 1.0051\n",
      "Epoch 60/100, Loss: 1.8286\n",
      "Epoch 60/100, Loss: 1.5963\n",
      "Epoch 60/100, Loss: 1.2655\n",
      "Epoch 60/100, Loss: 1.4316\n",
      "Epoch 60/100, Loss: 2.3970\n",
      "Epoch 60/100, Loss: 2.8537\n",
      "Epoch 60/100, Loss: 1.5199\n",
      "Epoch 60/100, Loss: 0.8109\n",
      "Epoch 60/100, Loss: 1.2173\n",
      "Epoch 60/100, Loss: 1.3149\n",
      "Epoch 60/100, Loss: 1.1304\n",
      "Epoch 60/100, Loss: 0.7800\n",
      "Epoch 60/100, Loss: 1.3079\n",
      "Epoch 60/100, Loss: 2.4643\n",
      "Epoch 60/100, Loss: 1.5291\n",
      "Epoch 60/100, Loss: 1.6484\n",
      "Epoch 60/100, Loss: 1.5878\n",
      "Epoch 60/100, Loss: 2.8681\n",
      "Epoch 60/100, Loss: 1.7844\n",
      "Epoch 60/100, Loss: 2.1690\n",
      "Epoch 60/100, Loss: 1.1793\n",
      "Epoch 60/100, Loss: 1.2674\n",
      "Epoch 60/100, Loss: 1.0651\n",
      "Epoch 60/100, Loss: 2.2133\n",
      "Epoch 60/100, Loss: 1.2009\n",
      "Epoch 60/100, Loss: 1.1824\n",
      "Epoch 60/100, Loss: 0.6707\n",
      "Epoch 60/100, Loss: 1.1053\n",
      "Epoch 60/100, Loss: 1.6996\n",
      "Epoch 60/100, Loss: 3.1110\n",
      "Epoch 60/100, Loss: 1.2745\n",
      "Epoch 60/100, Loss: 2.1468\n",
      "Epoch 60/100, Loss: 1.0668\n",
      "Epoch 60/100, Loss: 2.3039\n",
      "Epoch 60/100, Loss: 1.5785\n",
      "Epoch 60/100, Loss: 3.1652\n",
      "Epoch 60/100, Loss: 2.4293\n",
      "Epoch 60/100, Loss: 1.0847\n",
      "Epoch 60/100, Loss: 1.0984\n",
      "Epoch 60/100, Loss: 2.4482\n",
      "Epoch 60/100, Loss: 1.4727\n",
      "Epoch 60/100, Loss: 2.9809\n",
      "Epoch 60/100, Loss: 3.1222\n",
      "Epoch 60/100, Loss: 0.7456\n",
      "Epoch 60/100, Loss: 2.1825\n",
      "Epoch 60/100, Loss: 1.2304\n",
      "Epoch 61/100, Loss: 1.5325\n",
      "Epoch 61/100, Loss: 2.1009\n",
      "Epoch 61/100, Loss: 1.4869\n",
      "Epoch 61/100, Loss: 0.6851\n",
      "Epoch 61/100, Loss: 1.4427\n",
      "Epoch 61/100, Loss: 3.0689\n",
      "Epoch 61/100, Loss: 2.8196\n",
      "Epoch 61/100, Loss: 1.5746\n",
      "Epoch 61/100, Loss: 1.5924\n",
      "Epoch 61/100, Loss: 1.1512\n",
      "Epoch 61/100, Loss: 2.0414\n",
      "Epoch 61/100, Loss: 1.2352\n",
      "Epoch 61/100, Loss: 1.3466\n",
      "Epoch 61/100, Loss: 0.6868\n",
      "Epoch 61/100, Loss: 1.1409\n",
      "Epoch 61/100, Loss: 1.1318\n",
      "Epoch 61/100, Loss: 2.0026\n",
      "Epoch 61/100, Loss: 1.1119\n",
      "Epoch 61/100, Loss: 1.1059\n",
      "Epoch 61/100, Loss: 1.6542\n",
      "Epoch 61/100, Loss: 3.0664\n",
      "Epoch 61/100, Loss: 1.4348\n",
      "Epoch 61/100, Loss: 1.7515\n",
      "Epoch 61/100, Loss: 2.6818\n",
      "Epoch 61/100, Loss: 1.5241\n",
      "Epoch 61/100, Loss: 2.4909\n",
      "Epoch 61/100, Loss: 1.2142\n",
      "Epoch 61/100, Loss: 2.0215\n",
      "Epoch 61/100, Loss: 1.1205\n",
      "Epoch 61/100, Loss: 0.6850\n",
      "Epoch 61/100, Loss: 1.3253\n",
      "Epoch 61/100, Loss: 1.4904\n",
      "Epoch 61/100, Loss: 3.0735\n",
      "Epoch 61/100, Loss: 2.4717\n",
      "Epoch 61/100, Loss: 2.2027\n",
      "Epoch 61/100, Loss: 1.2498\n",
      "Epoch 61/100, Loss: 1.1123\n",
      "Epoch 61/100, Loss: 1.8039\n",
      "Epoch 61/100, Loss: 2.4592\n",
      "Epoch 61/100, Loss: 2.3966\n",
      "Epoch 61/100, Loss: 1.6253\n",
      "Epoch 61/100, Loss: 1.1936\n",
      "Epoch 61/100, Loss: 1.0604\n",
      "Epoch 61/100, Loss: 2.0846\n",
      "Epoch 61/100, Loss: 1.6821\n",
      "Epoch 61/100, Loss: 2.5059\n",
      "Epoch 61/100, Loss: 1.0555\n",
      "Epoch 61/100, Loss: 1.5995\n",
      "Epoch 61/100, Loss: 2.4572\n",
      "Epoch 61/100, Loss: 0.7491\n",
      "Epoch 61/100, Loss: 0.6938\n",
      "Epoch 61/100, Loss: 1.1859\n",
      "Epoch 61/100, Loss: 2.0719\n",
      "Epoch 61/100, Loss: 2.4612\n",
      "Epoch 61/100, Loss: 1.0626\n",
      "Epoch 61/100, Loss: 1.4713\n",
      "Epoch 61/100, Loss: 2.3008\n",
      "Epoch 61/100, Loss: 2.0641\n",
      "Epoch 61/100, Loss: 1.0952\n",
      "Epoch 61/100, Loss: 1.5697\n",
      "Epoch 61/100, Loss: 2.9732\n",
      "Epoch 61/100, Loss: 2.9055\n",
      "Epoch 62/100, Loss: 1.4919\n",
      "Epoch 62/100, Loss: 1.1393\n",
      "Epoch 62/100, Loss: 1.1428\n",
      "Epoch 62/100, Loss: 1.3782\n",
      "Epoch 62/100, Loss: 1.7055\n",
      "Epoch 62/100, Loss: 2.4240\n",
      "Epoch 62/100, Loss: 1.0060\n",
      "Epoch 62/100, Loss: 0.7142\n",
      "Epoch 62/100, Loss: 1.1044\n",
      "Epoch 62/100, Loss: 2.0690\n",
      "Epoch 62/100, Loss: 1.2620\n",
      "Epoch 62/100, Loss: 1.4687\n",
      "Epoch 62/100, Loss: 1.0781\n",
      "Epoch 62/100, Loss: 1.0862\n",
      "Epoch 62/100, Loss: 1.5853\n",
      "Epoch 62/100, Loss: 1.9996\n",
      "Epoch 62/100, Loss: 1.6718\n",
      "Epoch 62/100, Loss: 1.4097\n",
      "Epoch 62/100, Loss: 1.4804\n",
      "Epoch 62/100, Loss: 2.9943\n",
      "Epoch 62/100, Loss: 0.7242\n",
      "Epoch 62/100, Loss: 1.0688\n",
      "Epoch 62/100, Loss: 2.0911\n",
      "Epoch 62/100, Loss: 2.8158\n",
      "Epoch 62/100, Loss: 1.1289\n",
      "Epoch 62/100, Loss: 2.3858\n",
      "Epoch 62/100, Loss: 1.6509\n",
      "Epoch 62/100, Loss: 0.7186\n",
      "Epoch 62/100, Loss: 2.6811\n",
      "Epoch 62/100, Loss: 1.6303\n",
      "Epoch 62/100, Loss: 0.7197\n",
      "Epoch 62/100, Loss: 1.9716\n",
      "Epoch 62/100, Loss: 1.5262\n",
      "Epoch 62/100, Loss: 1.8845\n",
      "Epoch 62/100, Loss: 2.3848\n",
      "Epoch 62/100, Loss: 1.7901\n",
      "Epoch 62/100, Loss: 1.1562\n",
      "Epoch 62/100, Loss: 0.6716\n",
      "Epoch 62/100, Loss: 1.1712\n",
      "Epoch 62/100, Loss: 1.0980\n",
      "Epoch 62/100, Loss: 2.2627\n",
      "Epoch 62/100, Loss: 2.4462\n",
      "Epoch 62/100, Loss: 1.5623\n",
      "Epoch 62/100, Loss: 2.1935\n",
      "Epoch 62/100, Loss: 1.5744\n",
      "Epoch 62/100, Loss: 1.1363\n",
      "Epoch 62/100, Loss: 1.1636\n",
      "Epoch 62/100, Loss: 2.9083\n",
      "Epoch 62/100, Loss: 1.1023\n",
      "Epoch 62/100, Loss: 2.9464\n",
      "Epoch 62/100, Loss: 1.5881\n",
      "Epoch 62/100, Loss: 3.0845\n",
      "Epoch 62/100, Loss: 2.1690\n",
      "Epoch 62/100, Loss: 2.1813\n",
      "Epoch 62/100, Loss: 2.5914\n",
      "Epoch 62/100, Loss: 1.5666\n",
      "Epoch 62/100, Loss: 2.5429\n",
      "Epoch 62/100, Loss: 1.1502\n",
      "Epoch 62/100, Loss: 2.4409\n",
      "Epoch 62/100, Loss: 1.6667\n",
      "Epoch 62/100, Loss: 3.0973\n",
      "Epoch 62/100, Loss: 1.2529\n",
      "Epoch 63/100, Loss: 1.4073\n",
      "Epoch 63/100, Loss: 2.2787\n",
      "Epoch 63/100, Loss: 1.0358\n",
      "Epoch 63/100, Loss: 2.1083\n",
      "Epoch 63/100, Loss: 1.1110\n",
      "Epoch 63/100, Loss: 2.0442\n",
      "Epoch 63/100, Loss: 1.2051\n",
      "Epoch 63/100, Loss: 1.0387\n",
      "Epoch 63/100, Loss: 2.4530\n",
      "Epoch 63/100, Loss: 2.3108\n",
      "Epoch 63/100, Loss: 1.4266\n",
      "Epoch 63/100, Loss: 0.8634\n",
      "Epoch 63/100, Loss: 1.4765\n",
      "Epoch 63/100, Loss: 2.8302\n",
      "Epoch 63/100, Loss: 2.4002\n",
      "Epoch 63/100, Loss: 1.1522\n",
      "Epoch 63/100, Loss: 2.2078\n",
      "Epoch 63/100, Loss: 1.5398\n",
      "Epoch 63/100, Loss: 1.0431\n",
      "Epoch 63/100, Loss: 2.5560\n",
      "Epoch 63/100, Loss: 1.9725\n",
      "Epoch 63/100, Loss: 0.7935\n",
      "Epoch 63/100, Loss: 2.1929\n",
      "Epoch 63/100, Loss: 2.9875\n",
      "Epoch 63/100, Loss: 1.7413\n",
      "Epoch 63/100, Loss: 1.3959\n",
      "Epoch 63/100, Loss: 1.1715\n",
      "Epoch 63/100, Loss: 1.0935\n",
      "Epoch 63/100, Loss: 3.0404\n",
      "Epoch 63/100, Loss: 1.6392\n",
      "Epoch 63/100, Loss: 0.7609\n",
      "Epoch 63/100, Loss: 2.3793\n",
      "Epoch 63/100, Loss: 1.2642\n",
      "Epoch 63/100, Loss: 1.6033\n",
      "Epoch 63/100, Loss: 1.5883\n",
      "Epoch 63/100, Loss: 1.6303\n",
      "Epoch 63/100, Loss: 1.1965\n",
      "Epoch 63/100, Loss: 1.0529\n",
      "Epoch 63/100, Loss: 1.5126\n",
      "Epoch 63/100, Loss: 1.1939\n",
      "Epoch 63/100, Loss: 3.0535\n",
      "Epoch 63/100, Loss: 1.0951\n",
      "Epoch 63/100, Loss: 1.4296\n",
      "Epoch 63/100, Loss: 2.1254\n",
      "Epoch 63/100, Loss: 1.4491\n",
      "Epoch 63/100, Loss: 2.8978\n",
      "Epoch 63/100, Loss: 1.0586\n",
      "Epoch 63/100, Loss: 2.4139\n",
      "Epoch 63/100, Loss: 1.5945\n",
      "Epoch 63/100, Loss: 0.7512\n",
      "Epoch 63/100, Loss: 2.9207\n",
      "Epoch 63/100, Loss: 2.6088\n",
      "Epoch 63/100, Loss: 1.0505\n",
      "Epoch 63/100, Loss: 1.8258\n",
      "Epoch 63/100, Loss: 0.7626\n",
      "Epoch 63/100, Loss: 2.1571\n",
      "Epoch 63/100, Loss: 1.1022\n",
      "Epoch 63/100, Loss: 2.1796\n",
      "Epoch 63/100, Loss: 1.7067\n",
      "Epoch 63/100, Loss: 1.2409\n",
      "Epoch 63/100, Loss: 2.0571\n",
      "Epoch 63/100, Loss: 1.6532\n",
      "Epoch 64/100, Loss: 0.6873\n",
      "Epoch 64/100, Loss: 2.4059\n",
      "Epoch 64/100, Loss: 2.9953\n",
      "Epoch 64/100, Loss: 2.3458\n",
      "Epoch 64/100, Loss: 1.4052\n",
      "Epoch 64/100, Loss: 2.9664\n",
      "Epoch 64/100, Loss: 1.4573\n",
      "Epoch 64/100, Loss: 1.1384\n",
      "Epoch 64/100, Loss: 2.1273\n",
      "Epoch 64/100, Loss: 1.6122\n",
      "Epoch 64/100, Loss: 2.0773\n",
      "Epoch 64/100, Loss: 1.4178\n",
      "Epoch 64/100, Loss: 1.0407\n",
      "Epoch 64/100, Loss: 2.2453\n",
      "Epoch 64/100, Loss: 1.4767\n",
      "Epoch 64/100, Loss: 2.9470\n",
      "Epoch 64/100, Loss: 1.9581\n",
      "Epoch 64/100, Loss: 2.1593\n",
      "Epoch 64/100, Loss: 1.5083\n",
      "Epoch 64/100, Loss: 1.1010\n",
      "Epoch 64/100, Loss: 2.5097\n",
      "Epoch 64/100, Loss: 2.7784\n",
      "Epoch 64/100, Loss: 1.0304\n",
      "Epoch 64/100, Loss: 1.1885\n",
      "Epoch 64/100, Loss: 1.6994\n",
      "Epoch 64/100, Loss: 2.3514\n",
      "Epoch 64/100, Loss: 2.0108\n",
      "Epoch 64/100, Loss: 2.3514\n",
      "Epoch 64/100, Loss: 1.6274\n",
      "Epoch 64/100, Loss: 1.6679\n",
      "Epoch 64/100, Loss: 1.3237\n",
      "Epoch 64/100, Loss: 1.8830\n",
      "Epoch 64/100, Loss: 1.6142\n",
      "Epoch 64/100, Loss: 1.1487\n",
      "Epoch 64/100, Loss: 0.7539\n",
      "Epoch 64/100, Loss: 1.1783\n",
      "Epoch 64/100, Loss: 0.7034\n",
      "Epoch 64/100, Loss: 1.3892\n",
      "Epoch 64/100, Loss: 2.4829\n",
      "Epoch 64/100, Loss: 1.6631\n",
      "Epoch 64/100, Loss: 1.2829\n",
      "Epoch 64/100, Loss: 2.4115\n",
      "Epoch 64/100, Loss: 1.7481\n",
      "Epoch 64/100, Loss: 2.8410\n",
      "Epoch 64/100, Loss: 2.8285\n",
      "Epoch 64/100, Loss: 1.1787\n",
      "Epoch 64/100, Loss: 2.0925\n",
      "Epoch 64/100, Loss: 1.5493\n",
      "Epoch 64/100, Loss: 1.0602\n",
      "Epoch 64/100, Loss: 1.4757\n",
      "Epoch 64/100, Loss: 1.1981\n",
      "Epoch 64/100, Loss: 1.0299\n",
      "Epoch 64/100, Loss: 1.2725\n",
      "Epoch 64/100, Loss: 2.1275\n",
      "Epoch 64/100, Loss: 1.5976\n",
      "Epoch 64/100, Loss: 1.3643\n",
      "Epoch 64/100, Loss: 1.2211\n",
      "Epoch 64/100, Loss: 1.5986\n",
      "Epoch 64/100, Loss: 0.7408\n",
      "Epoch 64/100, Loss: 0.6853\n",
      "Epoch 64/100, Loss: 1.1489\n",
      "Epoch 64/100, Loss: 2.7126\n",
      "Epoch 65/100, Loss: 2.9417\n",
      "Epoch 65/100, Loss: 1.3247\n",
      "Epoch 65/100, Loss: 2.0259\n",
      "Epoch 65/100, Loss: 0.7375\n",
      "Epoch 65/100, Loss: 1.1109\n",
      "Epoch 65/100, Loss: 0.7108\n",
      "Epoch 65/100, Loss: 1.0833\n",
      "Epoch 65/100, Loss: 1.5061\n",
      "Epoch 65/100, Loss: 2.3767\n",
      "Epoch 65/100, Loss: 0.7149\n",
      "Epoch 65/100, Loss: 1.1445\n",
      "Epoch 65/100, Loss: 1.9473\n",
      "Epoch 65/100, Loss: 1.0435\n",
      "Epoch 65/100, Loss: 2.3309\n",
      "Epoch 65/100, Loss: 0.6455\n",
      "Epoch 65/100, Loss: 2.5443\n",
      "Epoch 65/100, Loss: 1.4376\n",
      "Epoch 65/100, Loss: 1.2661\n",
      "Epoch 65/100, Loss: 1.0617\n",
      "Epoch 65/100, Loss: 2.4178\n",
      "Epoch 65/100, Loss: 2.5498\n",
      "Epoch 65/100, Loss: 2.4735\n",
      "Epoch 65/100, Loss: 1.0411\n",
      "Epoch 65/100, Loss: 2.8909\n",
      "Epoch 65/100, Loss: 2.1161\n",
      "Epoch 65/100, Loss: 1.0297\n",
      "Epoch 65/100, Loss: 2.2021\n",
      "Epoch 65/100, Loss: 1.2466\n",
      "Epoch 65/100, Loss: 1.5433\n",
      "Epoch 65/100, Loss: 0.7066\n",
      "Epoch 65/100, Loss: 1.2329\n",
      "Epoch 65/100, Loss: 1.1573\n",
      "Epoch 65/100, Loss: 2.1607\n",
      "Epoch 65/100, Loss: 1.4162\n",
      "Epoch 65/100, Loss: 1.0478\n",
      "Epoch 65/100, Loss: 1.1497\n",
      "Epoch 65/100, Loss: 1.4233\n",
      "Epoch 65/100, Loss: 1.7180\n",
      "Epoch 65/100, Loss: 2.1367\n",
      "Epoch 65/100, Loss: 2.8660\n",
      "Epoch 65/100, Loss: 1.7818\n",
      "Epoch 65/100, Loss: 0.9968\n",
      "Epoch 65/100, Loss: 2.5194\n",
      "Epoch 65/100, Loss: 1.4293\n",
      "Epoch 65/100, Loss: 0.9773\n",
      "Epoch 65/100, Loss: 2.1822\n",
      "Epoch 65/100, Loss: 2.9531\n",
      "Epoch 65/100, Loss: 1.5687\n",
      "Epoch 65/100, Loss: 1.4342\n",
      "Epoch 65/100, Loss: 2.0486\n",
      "Epoch 65/100, Loss: 1.5640\n",
      "Epoch 65/100, Loss: 1.2593\n",
      "Epoch 65/100, Loss: 1.2351\n",
      "Epoch 65/100, Loss: 3.0887\n",
      "Epoch 65/100, Loss: 2.6745\n",
      "Epoch 65/100, Loss: 1.5648\n",
      "Epoch 65/100, Loss: 2.0670\n",
      "Epoch 65/100, Loss: 1.6045\n",
      "Epoch 65/100, Loss: 1.5772\n",
      "Epoch 65/100, Loss: 3.0922\n",
      "Epoch 65/100, Loss: 1.6458\n",
      "Epoch 65/100, Loss: 1.6268\n",
      "Epoch 66/100, Loss: 1.5284\n",
      "Epoch 66/100, Loss: 2.2797\n",
      "Epoch 66/100, Loss: 2.7405\n",
      "Epoch 66/100, Loss: 2.9499\n",
      "Epoch 66/100, Loss: 1.1870\n",
      "Epoch 66/100, Loss: 1.0837\n",
      "Epoch 66/100, Loss: 2.7919\n",
      "Epoch 66/100, Loss: 0.7091\n",
      "Epoch 66/100, Loss: 2.5542\n",
      "Epoch 66/100, Loss: 1.2363\n",
      "Epoch 66/100, Loss: 1.1599\n",
      "Epoch 66/100, Loss: 1.1313\n",
      "Epoch 66/100, Loss: 1.1576\n",
      "Epoch 66/100, Loss: 1.6675\n",
      "Epoch 66/100, Loss: 2.1299\n",
      "Epoch 66/100, Loss: 1.0829\n",
      "Epoch 66/100, Loss: 1.0600\n",
      "Epoch 66/100, Loss: 2.0736\n",
      "Epoch 66/100, Loss: 1.4160\n",
      "Epoch 66/100, Loss: 2.0880\n",
      "Epoch 66/100, Loss: 1.7235\n",
      "Epoch 66/100, Loss: 1.4545\n",
      "Epoch 66/100, Loss: 2.3878\n",
      "Epoch 66/100, Loss: 1.5112\n",
      "Epoch 66/100, Loss: 2.0681\n",
      "Epoch 66/100, Loss: 2.4883\n",
      "Epoch 66/100, Loss: 2.1819\n",
      "Epoch 66/100, Loss: 1.5744\n",
      "Epoch 66/100, Loss: 1.1219\n",
      "Epoch 66/100, Loss: 2.9129\n",
      "Epoch 66/100, Loss: 0.7968\n",
      "Epoch 66/100, Loss: 2.6170\n",
      "Epoch 66/100, Loss: 0.9995\n",
      "Epoch 66/100, Loss: 1.5269\n",
      "Epoch 66/100, Loss: 1.1258\n",
      "Epoch 66/100, Loss: 2.3727\n",
      "Epoch 66/100, Loss: 1.5545\n",
      "Epoch 66/100, Loss: 1.4960\n",
      "Epoch 66/100, Loss: 2.1327\n",
      "Epoch 66/100, Loss: 1.0754\n",
      "Epoch 66/100, Loss: 1.0914\n",
      "Epoch 66/100, Loss: 1.5907\n",
      "Epoch 66/100, Loss: 1.6191\n",
      "Epoch 66/100, Loss: 1.1479\n",
      "Epoch 66/100, Loss: 0.7617\n",
      "Epoch 66/100, Loss: 1.4442\n",
      "Epoch 66/100, Loss: 1.4542\n",
      "Epoch 66/100, Loss: 2.0359\n",
      "Epoch 66/100, Loss: 2.3951\n",
      "Epoch 66/100, Loss: 0.7645\n",
      "Epoch 66/100, Loss: 1.2499\n",
      "Epoch 66/100, Loss: 2.4349\n",
      "Epoch 66/100, Loss: 3.0844\n",
      "Epoch 66/100, Loss: 1.1426\n",
      "Epoch 66/100, Loss: 1.5444\n",
      "Epoch 66/100, Loss: 1.9990\n",
      "Epoch 66/100, Loss: 1.2204\n",
      "Epoch 66/100, Loss: 2.9146\n",
      "Epoch 66/100, Loss: 2.1155\n",
      "Epoch 66/100, Loss: 0.7459\n",
      "Epoch 66/100, Loss: 1.6356\n",
      "Epoch 66/100, Loss: 1.6569\n",
      "Epoch 67/100, Loss: 1.1246\n",
      "Epoch 67/100, Loss: 2.8229\n",
      "Epoch 67/100, Loss: 2.9273\n",
      "Epoch 67/100, Loss: 2.0991\n",
      "Epoch 67/100, Loss: 2.9893\n",
      "Epoch 67/100, Loss: 1.2593\n",
      "Epoch 67/100, Loss: 2.3891\n",
      "Epoch 67/100, Loss: 2.7599\n",
      "Epoch 67/100, Loss: 1.0349\n",
      "Epoch 67/100, Loss: 2.2945\n",
      "Epoch 67/100, Loss: 0.8149\n",
      "Epoch 67/100, Loss: 1.5087\n",
      "Epoch 67/100, Loss: 0.7432\n",
      "Epoch 67/100, Loss: 1.1677\n",
      "Epoch 67/100, Loss: 1.4431\n",
      "Epoch 67/100, Loss: 1.0728\n",
      "Epoch 67/100, Loss: 2.0516\n",
      "Epoch 67/100, Loss: 1.1107\n",
      "Epoch 67/100, Loss: 1.4842\n",
      "Epoch 67/100, Loss: 0.6901\n",
      "Epoch 67/100, Loss: 0.9713\n",
      "Epoch 67/100, Loss: 1.1319\n",
      "Epoch 67/100, Loss: 2.0294\n",
      "Epoch 67/100, Loss: 1.0388\n",
      "Epoch 67/100, Loss: 1.1996\n",
      "Epoch 67/100, Loss: 2.1150\n",
      "Epoch 67/100, Loss: 3.0351\n",
      "Epoch 67/100, Loss: 1.5924\n",
      "Epoch 67/100, Loss: 1.2410\n",
      "Epoch 67/100, Loss: 1.3862\n",
      "Epoch 67/100, Loss: 2.0053\n",
      "Epoch 67/100, Loss: 2.5103\n",
      "Epoch 67/100, Loss: 2.0983\n",
      "Epoch 67/100, Loss: 2.2192\n",
      "Epoch 67/100, Loss: 1.5524\n",
      "Epoch 67/100, Loss: 1.1136\n",
      "Epoch 67/100, Loss: 1.4409\n",
      "Epoch 67/100, Loss: 2.8908\n",
      "Epoch 67/100, Loss: 1.2492\n",
      "Epoch 67/100, Loss: 1.7076\n",
      "Epoch 67/100, Loss: 1.5313\n",
      "Epoch 67/100, Loss: 2.0884\n",
      "Epoch 67/100, Loss: 1.4972\n",
      "Epoch 67/100, Loss: 0.6672\n",
      "Epoch 67/100, Loss: 2.4582\n",
      "Epoch 67/100, Loss: 1.6698\n",
      "Epoch 67/100, Loss: 1.5587\n",
      "Epoch 67/100, Loss: 1.0846\n",
      "Epoch 67/100, Loss: 2.6550\n",
      "Epoch 67/100, Loss: 1.6469\n",
      "Epoch 67/100, Loss: 1.5127\n",
      "Epoch 67/100, Loss: 1.9817\n",
      "Epoch 67/100, Loss: 2.4405\n",
      "Epoch 67/100, Loss: 2.5657\n",
      "Epoch 67/100, Loss: 1.0821\n",
      "Epoch 67/100, Loss: 1.2053\n",
      "Epoch 67/100, Loss: 1.6070\n",
      "Epoch 67/100, Loss: 0.7351\n",
      "Epoch 67/100, Loss: 1.5554\n",
      "Epoch 67/100, Loss: 1.5970\n",
      "Epoch 67/100, Loss: 1.1958\n",
      "Epoch 67/100, Loss: 2.3215\n",
      "Epoch 68/100, Loss: 1.0529\n",
      "Epoch 68/100, Loss: 1.1014\n",
      "Epoch 68/100, Loss: 1.1183\n",
      "Epoch 68/100, Loss: 2.4616\n",
      "Epoch 68/100, Loss: 1.0104\n",
      "Epoch 68/100, Loss: 1.0482\n",
      "Epoch 68/100, Loss: 2.1129\n",
      "Epoch 68/100, Loss: 1.0468\n",
      "Epoch 68/100, Loss: 2.0236\n",
      "Epoch 68/100, Loss: 2.8593\n",
      "Epoch 68/100, Loss: 2.9858\n",
      "Epoch 68/100, Loss: 2.0454\n",
      "Epoch 68/100, Loss: 1.1119\n",
      "Epoch 68/100, Loss: 1.9565\n",
      "Epoch 68/100, Loss: 1.0139\n",
      "Epoch 68/100, Loss: 2.8652\n",
      "Epoch 68/100, Loss: 2.2789\n",
      "Epoch 68/100, Loss: 2.2307\n",
      "Epoch 68/100, Loss: 1.1167\n",
      "Epoch 68/100, Loss: 1.5736\n",
      "Epoch 68/100, Loss: 0.8243\n",
      "Epoch 68/100, Loss: 0.7594\n",
      "Epoch 68/100, Loss: 1.5352\n",
      "Epoch 68/100, Loss: 1.1672\n",
      "Epoch 68/100, Loss: 1.0126\n",
      "Epoch 68/100, Loss: 2.1258\n",
      "Epoch 68/100, Loss: 1.4533\n",
      "Epoch 68/100, Loss: 2.4358\n",
      "Epoch 68/100, Loss: 2.1744\n",
      "Epoch 68/100, Loss: 1.3938\n",
      "Epoch 68/100, Loss: 3.0505\n",
      "Epoch 68/100, Loss: 2.3740\n",
      "Epoch 68/100, Loss: 1.0666\n",
      "Epoch 68/100, Loss: 1.5005\n",
      "Epoch 68/100, Loss: 0.8192\n",
      "Epoch 68/100, Loss: 1.4846\n",
      "Epoch 68/100, Loss: 0.7480\n",
      "Epoch 68/100, Loss: 2.9828\n",
      "Epoch 68/100, Loss: 0.9839\n",
      "Epoch 68/100, Loss: 2.8935\n",
      "Epoch 68/100, Loss: 1.7304\n",
      "Epoch 68/100, Loss: 2.0198\n",
      "Epoch 68/100, Loss: 1.6220\n",
      "Epoch 68/100, Loss: 2.4954\n",
      "Epoch 68/100, Loss: 2.5899\n",
      "Epoch 68/100, Loss: 1.3802\n",
      "Epoch 68/100, Loss: 1.4040\n",
      "Epoch 68/100, Loss: 1.7060\n",
      "Epoch 68/100, Loss: 2.4971\n",
      "Epoch 68/100, Loss: 1.3015\n",
      "Epoch 68/100, Loss: 0.7575\n",
      "Epoch 68/100, Loss: 1.2015\n",
      "Epoch 68/100, Loss: 1.2290\n",
      "Epoch 68/100, Loss: 1.6479\n",
      "Epoch 68/100, Loss: 2.2868\n",
      "Epoch 68/100, Loss: 2.1054\n",
      "Epoch 68/100, Loss: 1.5349\n",
      "Epoch 68/100, Loss: 1.5310\n",
      "Epoch 68/100, Loss: 1.1598\n",
      "Epoch 68/100, Loss: 1.6252\n",
      "Epoch 68/100, Loss: 1.5189\n",
      "Epoch 68/100, Loss: 1.5624\n",
      "Epoch 69/100, Loss: 2.1310\n",
      "Epoch 69/100, Loss: 1.4397\n",
      "Epoch 69/100, Loss: 1.9387\n",
      "Epoch 69/100, Loss: 0.6421\n",
      "Epoch 69/100, Loss: 1.1813\n",
      "Epoch 69/100, Loss: 2.4306\n",
      "Epoch 69/100, Loss: 1.1786\n",
      "Epoch 69/100, Loss: 1.4050\n",
      "Epoch 69/100, Loss: 1.1074\n",
      "Epoch 69/100, Loss: 1.0372\n",
      "Epoch 69/100, Loss: 2.0595\n",
      "Epoch 69/100, Loss: 1.5005\n",
      "Epoch 69/100, Loss: 2.0686\n",
      "Epoch 69/100, Loss: 1.4227\n",
      "Epoch 69/100, Loss: 0.9548\n",
      "Epoch 69/100, Loss: 1.5376\n",
      "Epoch 69/100, Loss: 1.5754\n",
      "Epoch 69/100, Loss: 2.8513\n",
      "Epoch 69/100, Loss: 1.4407\n",
      "Epoch 69/100, Loss: 0.6180\n",
      "Epoch 69/100, Loss: 1.4708\n",
      "Epoch 69/100, Loss: 2.0456\n",
      "Epoch 69/100, Loss: 1.5024\n",
      "Epoch 69/100, Loss: 0.5672\n",
      "Epoch 69/100, Loss: 3.0057\n",
      "Epoch 69/100, Loss: 2.3805\n",
      "Epoch 69/100, Loss: 1.2409\n",
      "Epoch 69/100, Loss: 3.0332\n",
      "Epoch 69/100, Loss: 1.7379\n",
      "Epoch 69/100, Loss: 1.5800\n",
      "Epoch 69/100, Loss: 2.2738\n",
      "Epoch 69/100, Loss: 0.5322\n",
      "Epoch 69/100, Loss: 2.7758\n",
      "Epoch 69/100, Loss: 2.8633\n",
      "Epoch 69/100, Loss: 2.0584\n",
      "Epoch 69/100, Loss: 1.1766\n",
      "Epoch 69/100, Loss: 1.5631\n",
      "Epoch 69/100, Loss: 1.2498\n",
      "Epoch 69/100, Loss: 2.5145\n",
      "Epoch 69/100, Loss: 3.0821\n",
      "Epoch 69/100, Loss: 1.2233\n",
      "Epoch 69/100, Loss: 1.1003\n",
      "Epoch 69/100, Loss: 1.1520\n",
      "Epoch 69/100, Loss: 1.9750\n",
      "Epoch 69/100, Loss: 2.8143\n",
      "Epoch 69/100, Loss: 1.4742\n",
      "Epoch 69/100, Loss: 1.4243\n",
      "Epoch 69/100, Loss: 1.7234\n",
      "Epoch 69/100, Loss: 2.4829\n",
      "Epoch 69/100, Loss: 1.5989\n",
      "Epoch 69/100, Loss: 2.0723\n",
      "Epoch 69/100, Loss: 1.9721\n",
      "Epoch 69/100, Loss: 1.2416\n",
      "Epoch 69/100, Loss: 1.0662\n",
      "Epoch 69/100, Loss: 1.2284\n",
      "Epoch 69/100, Loss: 1.1603\n",
      "Epoch 69/100, Loss: 1.1600\n",
      "Epoch 69/100, Loss: 2.4882\n",
      "Epoch 69/100, Loss: 1.1235\n",
      "Epoch 69/100, Loss: 1.6289\n",
      "Epoch 69/100, Loss: 0.6940\n",
      "Epoch 69/100, Loss: 2.5539\n",
      "Epoch 70/100, Loss: 2.2099\n",
      "Epoch 70/100, Loss: 1.4412\n",
      "Epoch 70/100, Loss: 1.4918\n",
      "Epoch 70/100, Loss: 1.9478\n",
      "Epoch 70/100, Loss: 1.2523\n",
      "Epoch 70/100, Loss: 2.1324\n",
      "Epoch 70/100, Loss: 1.2497\n",
      "Epoch 70/100, Loss: 1.1184\n",
      "Epoch 70/100, Loss: 2.9314\n",
      "Epoch 70/100, Loss: 1.1697\n",
      "Epoch 70/100, Loss: 1.5362\n",
      "Epoch 70/100, Loss: 0.9939\n",
      "Epoch 70/100, Loss: 1.2107\n",
      "Epoch 70/100, Loss: 1.3038\n",
      "Epoch 70/100, Loss: 2.0947\n",
      "Epoch 70/100, Loss: 1.4453\n",
      "Epoch 70/100, Loss: 2.7795\n",
      "Epoch 70/100, Loss: 2.7910\n",
      "Epoch 70/100, Loss: 1.2109\n",
      "Epoch 70/100, Loss: 1.5151\n",
      "Epoch 70/100, Loss: 2.3662\n",
      "Epoch 70/100, Loss: 2.8641\n",
      "Epoch 70/100, Loss: 0.7944\n",
      "Epoch 70/100, Loss: 1.4364\n",
      "Epoch 70/100, Loss: 1.0848\n",
      "Epoch 70/100, Loss: 2.1479\n",
      "Epoch 70/100, Loss: 1.4130\n",
      "Epoch 70/100, Loss: 2.4903\n",
      "Epoch 70/100, Loss: 2.3669\n",
      "Epoch 70/100, Loss: 1.1280\n",
      "Epoch 70/100, Loss: 2.0872\n",
      "Epoch 70/100, Loss: 1.6645\n",
      "Epoch 70/100, Loss: 2.0688\n",
      "Epoch 70/100, Loss: 0.7908\n",
      "Epoch 70/100, Loss: 0.7294\n",
      "Epoch 70/100, Loss: 1.7437\n",
      "Epoch 70/100, Loss: 1.0323\n",
      "Epoch 70/100, Loss: 2.4414\n",
      "Epoch 70/100, Loss: 1.1100\n",
      "Epoch 70/100, Loss: 1.4412\n",
      "Epoch 70/100, Loss: 2.4137\n",
      "Epoch 70/100, Loss: 1.2099\n",
      "Epoch 70/100, Loss: 1.5308\n",
      "Epoch 70/100, Loss: 2.0134\n",
      "Epoch 70/100, Loss: 1.6097\n",
      "Epoch 70/100, Loss: 1.1688\n",
      "Epoch 70/100, Loss: 1.5077\n",
      "Epoch 70/100, Loss: 2.0391\n",
      "Epoch 70/100, Loss: 1.1080\n",
      "Epoch 70/100, Loss: 1.0110\n",
      "Epoch 70/100, Loss: 0.7525\n",
      "Epoch 70/100, Loss: 2.0552\n",
      "Epoch 70/100, Loss: 0.6946\n",
      "Epoch 70/100, Loss: 2.8718\n",
      "Epoch 70/100, Loss: 2.6309\n",
      "Epoch 70/100, Loss: 1.1355\n",
      "Epoch 70/100, Loss: 1.6362\n",
      "Epoch 70/100, Loss: 1.5726\n",
      "Epoch 70/100, Loss: 3.0444\n",
      "Epoch 70/100, Loss: 1.1718\n",
      "Epoch 70/100, Loss: 2.5592\n",
      "Epoch 70/100, Loss: 1.5952\n",
      "Epoch 71/100, Loss: 1.6036\n",
      "Epoch 71/100, Loss: 0.6799\n",
      "Epoch 71/100, Loss: 2.3879\n",
      "Epoch 71/100, Loss: 0.9548\n",
      "Epoch 71/100, Loss: 1.9474\n",
      "Epoch 71/100, Loss: 2.8856\n",
      "Epoch 71/100, Loss: 2.4038\n",
      "Epoch 71/100, Loss: 2.8056\n",
      "Epoch 71/100, Loss: 1.0181\n",
      "Epoch 71/100, Loss: 2.0325\n",
      "Epoch 71/100, Loss: 1.1931\n",
      "Epoch 71/100, Loss: 1.5437\n",
      "Epoch 71/100, Loss: 2.0108\n",
      "Epoch 71/100, Loss: 1.2302\n",
      "Epoch 71/100, Loss: 2.1938\n",
      "Epoch 71/100, Loss: 0.8126\n",
      "Epoch 71/100, Loss: 1.2118\n",
      "Epoch 71/100, Loss: 1.6858\n",
      "Epoch 71/100, Loss: 1.5042\n",
      "Epoch 71/100, Loss: 1.0957\n",
      "Epoch 71/100, Loss: 2.4156\n",
      "Epoch 71/100, Loss: 1.3031\n",
      "Epoch 71/100, Loss: 1.5792\n",
      "Epoch 71/100, Loss: 1.5161\n",
      "Epoch 71/100, Loss: 2.0681\n",
      "Epoch 71/100, Loss: 1.2113\n",
      "Epoch 71/100, Loss: 1.4070\n",
      "Epoch 71/100, Loss: 2.9621\n",
      "Epoch 71/100, Loss: 2.7507\n",
      "Epoch 71/100, Loss: 2.3387\n",
      "Epoch 71/100, Loss: 0.7237\n",
      "Epoch 71/100, Loss: 1.5053\n",
      "Epoch 71/100, Loss: 1.5940\n",
      "Epoch 71/100, Loss: 2.0294\n",
      "Epoch 71/100, Loss: 2.9672\n",
      "Epoch 71/100, Loss: 1.4578\n",
      "Epoch 71/100, Loss: 1.9313\n",
      "Epoch 71/100, Loss: 2.0247\n",
      "Epoch 71/100, Loss: 1.5615\n",
      "Epoch 71/100, Loss: 2.7956\n",
      "Epoch 71/100, Loss: 1.0447\n",
      "Epoch 71/100, Loss: 2.1733\n",
      "Epoch 71/100, Loss: 1.6190\n",
      "Epoch 71/100, Loss: 1.5080\n",
      "Epoch 71/100, Loss: 1.3267\n",
      "Epoch 71/100, Loss: 1.0723\n",
      "Epoch 71/100, Loss: 2.5467\n",
      "Epoch 71/100, Loss: 1.1416\n",
      "Epoch 71/100, Loss: 2.1657\n",
      "Epoch 71/100, Loss: 2.4044\n",
      "Epoch 71/100, Loss: 1.5599\n",
      "Epoch 71/100, Loss: 0.7775\n",
      "Epoch 71/100, Loss: 1.1352\n",
      "Epoch 71/100, Loss: 1.2361\n",
      "Epoch 71/100, Loss: 1.2230\n",
      "Epoch 71/100, Loss: 1.1548\n",
      "Epoch 71/100, Loss: 1.2121\n",
      "Epoch 71/100, Loss: 0.7275\n",
      "Epoch 71/100, Loss: 1.4303\n",
      "Epoch 71/100, Loss: 1.5781\n",
      "Epoch 71/100, Loss: 1.0813\n",
      "Epoch 71/100, Loss: 2.6570\n",
      "Epoch 72/100, Loss: 1.0532\n",
      "Epoch 72/100, Loss: 1.5263\n",
      "Epoch 72/100, Loss: 0.6722\n",
      "Epoch 72/100, Loss: 2.8070\n",
      "Epoch 72/100, Loss: 2.0534\n",
      "Epoch 72/100, Loss: 1.0260\n",
      "Epoch 72/100, Loss: 1.4079\n",
      "Epoch 72/100, Loss: 1.4471\n",
      "Epoch 72/100, Loss: 2.9756\n",
      "Epoch 72/100, Loss: 1.0749\n",
      "Epoch 72/100, Loss: 0.6221\n",
      "Epoch 72/100, Loss: 2.1111\n",
      "Epoch 72/100, Loss: 2.1139\n",
      "Epoch 72/100, Loss: 1.1413\n",
      "Epoch 72/100, Loss: 1.1643\n",
      "Epoch 72/100, Loss: 1.1867\n",
      "Epoch 72/100, Loss: 1.5104\n",
      "Epoch 72/100, Loss: 0.6023\n",
      "Epoch 72/100, Loss: 1.0749\n",
      "Epoch 72/100, Loss: 1.0525\n",
      "Epoch 72/100, Loss: 2.2039\n",
      "Epoch 72/100, Loss: 1.6688\n",
      "Epoch 72/100, Loss: 2.5230\n",
      "Epoch 72/100, Loss: 1.4733\n",
      "Epoch 72/100, Loss: 2.8757\n",
      "Epoch 72/100, Loss: 0.6168\n",
      "Epoch 72/100, Loss: 1.4766\n",
      "Epoch 72/100, Loss: 2.1156\n",
      "Epoch 72/100, Loss: 0.9772\n",
      "Epoch 72/100, Loss: 2.4883\n",
      "Epoch 72/100, Loss: 1.9245\n",
      "Epoch 72/100, Loss: 1.5206\n",
      "Epoch 72/100, Loss: 1.4643\n",
      "Epoch 72/100, Loss: 0.9951\n",
      "Epoch 72/100, Loss: 1.4119\n",
      "Epoch 72/100, Loss: 2.8529\n",
      "Epoch 72/100, Loss: 1.0772\n",
      "Epoch 72/100, Loss: 2.5637\n",
      "Epoch 72/100, Loss: 2.5535\n",
      "Epoch 72/100, Loss: 3.0319\n",
      "Epoch 72/100, Loss: 2.6582\n",
      "Epoch 72/100, Loss: 1.0152\n",
      "Epoch 72/100, Loss: 2.2157\n",
      "Epoch 72/100, Loss: 1.1311\n",
      "Epoch 72/100, Loss: 1.6465\n",
      "Epoch 72/100, Loss: 0.6923\n",
      "Epoch 72/100, Loss: 1.9942\n",
      "Epoch 72/100, Loss: 3.0351\n",
      "Epoch 72/100, Loss: 1.3689\n",
      "Epoch 72/100, Loss: 2.3852\n",
      "Epoch 72/100, Loss: 1.4576\n",
      "Epoch 72/100, Loss: 1.0964\n",
      "Epoch 72/100, Loss: 1.9297\n",
      "Epoch 72/100, Loss: 1.2588\n",
      "Epoch 72/100, Loss: 1.7010\n",
      "Epoch 72/100, Loss: 2.1031\n",
      "Epoch 72/100, Loss: 1.5716\n",
      "Epoch 72/100, Loss: 1.4581\n",
      "Epoch 72/100, Loss: 2.5022\n",
      "Epoch 72/100, Loss: 1.1499\n",
      "Epoch 72/100, Loss: 1.5309\n",
      "Epoch 72/100, Loss: 1.6269\n",
      "Epoch 73/100, Loss: 2.8024\n",
      "Epoch 73/100, Loss: 2.0776\n",
      "Epoch 73/100, Loss: 2.0503\n",
      "Epoch 73/100, Loss: 2.3219\n",
      "Epoch 73/100, Loss: 0.7080\n",
      "Epoch 73/100, Loss: 1.1298\n",
      "Epoch 73/100, Loss: 1.2415\n",
      "Epoch 73/100, Loss: 1.2100\n",
      "Epoch 73/100, Loss: 2.0794\n",
      "Epoch 73/100, Loss: 0.6518\n",
      "Epoch 73/100, Loss: 1.2176\n",
      "Epoch 73/100, Loss: 0.6098\n",
      "Epoch 73/100, Loss: 1.1179\n",
      "Epoch 73/100, Loss: 1.0837\n",
      "Epoch 73/100, Loss: 1.4571\n",
      "Epoch 73/100, Loss: 1.4021\n",
      "Epoch 73/100, Loss: 2.4614\n",
      "Epoch 73/100, Loss: 1.5145\n",
      "Epoch 73/100, Loss: 2.0368\n",
      "Epoch 73/100, Loss: 1.4427\n",
      "Epoch 73/100, Loss: 0.9611\n",
      "Epoch 73/100, Loss: 1.6212\n",
      "Epoch 73/100, Loss: 2.7712\n",
      "Epoch 73/100, Loss: 2.1704\n",
      "Epoch 73/100, Loss: 2.0282\n",
      "Epoch 73/100, Loss: 2.3838\n",
      "Epoch 73/100, Loss: 2.5526\n",
      "Epoch 73/100, Loss: 1.1682\n",
      "Epoch 73/100, Loss: 1.2154\n",
      "Epoch 73/100, Loss: 2.5560\n",
      "Epoch 73/100, Loss: 1.2165\n",
      "Epoch 73/100, Loss: 1.1378\n",
      "Epoch 73/100, Loss: 1.6101\n",
      "Epoch 73/100, Loss: 1.6542\n",
      "Epoch 73/100, Loss: 1.0690\n",
      "Epoch 73/100, Loss: 1.6281\n",
      "Epoch 73/100, Loss: 2.8667\n",
      "Epoch 73/100, Loss: 1.5062\n",
      "Epoch 73/100, Loss: 1.5375\n",
      "Epoch 73/100, Loss: 1.5293\n",
      "Epoch 73/100, Loss: 1.5110\n",
      "Epoch 73/100, Loss: 2.9219\n",
      "Epoch 73/100, Loss: 0.7428\n",
      "Epoch 73/100, Loss: 2.4425\n",
      "Epoch 73/100, Loss: 0.7423\n",
      "Epoch 73/100, Loss: 1.3959\n",
      "Epoch 73/100, Loss: 1.5417\n",
      "Epoch 73/100, Loss: 2.5238\n",
      "Epoch 73/100, Loss: 1.1311\n",
      "Epoch 73/100, Loss: 1.0804\n",
      "Epoch 73/100, Loss: 1.0483\n",
      "Epoch 73/100, Loss: 3.0868\n",
      "Epoch 73/100, Loss: 1.4551\n",
      "Epoch 73/100, Loss: 1.0356\n",
      "Epoch 73/100, Loss: 2.0479\n",
      "Epoch 73/100, Loss: 1.9713\n",
      "Epoch 73/100, Loss: 3.0302\n",
      "Epoch 73/100, Loss: 1.4382\n",
      "Epoch 73/100, Loss: 1.5119\n",
      "Epoch 73/100, Loss: 2.0234\n",
      "Epoch 73/100, Loss: 1.2097\n",
      "Epoch 73/100, Loss: 2.0951\n",
      "Epoch 74/100, Loss: 1.0586\n",
      "Epoch 74/100, Loss: 2.9375\n",
      "Epoch 74/100, Loss: 1.5774\n",
      "Epoch 74/100, Loss: 1.7718\n",
      "Epoch 74/100, Loss: 1.4427\n",
      "Epoch 74/100, Loss: 1.4852\n",
      "Epoch 74/100, Loss: 1.0731\n",
      "Epoch 74/100, Loss: 1.4773\n",
      "Epoch 74/100, Loss: 1.9693\n",
      "Epoch 74/100, Loss: 1.9103\n",
      "Epoch 74/100, Loss: 1.1059\n",
      "Epoch 74/100, Loss: 2.2563\n",
      "Epoch 74/100, Loss: 2.0008\n",
      "Epoch 74/100, Loss: 2.2945\n",
      "Epoch 74/100, Loss: 2.0781\n",
      "Epoch 74/100, Loss: 2.4230\n",
      "Epoch 74/100, Loss: 1.9914\n",
      "Epoch 74/100, Loss: 1.1376\n",
      "Epoch 74/100, Loss: 2.3210\n",
      "Epoch 74/100, Loss: 2.8426\n",
      "Epoch 74/100, Loss: 2.9676\n",
      "Epoch 74/100, Loss: 2.3408\n",
      "Epoch 74/100, Loss: 0.8810\n",
      "Epoch 74/100, Loss: 1.9485\n",
      "Epoch 74/100, Loss: 2.1379\n",
      "Epoch 74/100, Loss: 1.1682\n",
      "Epoch 74/100, Loss: 0.8053\n",
      "Epoch 74/100, Loss: 1.0922\n",
      "Epoch 74/100, Loss: 1.3770\n",
      "Epoch 74/100, Loss: 1.5478\n",
      "Epoch 74/100, Loss: 1.3020\n",
      "Epoch 74/100, Loss: 1.0187\n",
      "Epoch 74/100, Loss: 0.7434\n",
      "Epoch 74/100, Loss: 0.9344\n",
      "Epoch 74/100, Loss: 1.5061\n",
      "Epoch 74/100, Loss: 2.2064\n",
      "Epoch 74/100, Loss: 2.1308\n",
      "Epoch 74/100, Loss: 2.9304\n",
      "Epoch 74/100, Loss: 2.5980\n",
      "Epoch 74/100, Loss: 1.4372\n",
      "Epoch 74/100, Loss: 1.4199\n",
      "Epoch 74/100, Loss: 1.7325\n",
      "Epoch 74/100, Loss: 1.3056\n",
      "Epoch 74/100, Loss: 2.9051\n",
      "Epoch 74/100, Loss: 1.5246\n",
      "Epoch 74/100, Loss: 1.2265\n",
      "Epoch 74/100, Loss: 1.3035\n",
      "Epoch 74/100, Loss: 1.5202\n",
      "Epoch 74/100, Loss: 1.7349\n",
      "Epoch 74/100, Loss: 1.0630\n",
      "Epoch 74/100, Loss: 1.6251\n",
      "Epoch 74/100, Loss: 2.6639\n",
      "Epoch 74/100, Loss: 0.7823\n",
      "Epoch 74/100, Loss: 1.3876\n",
      "Epoch 74/100, Loss: 1.0756\n",
      "Epoch 74/100, Loss: 0.9360\n",
      "Epoch 74/100, Loss: 2.9475\n",
      "Epoch 74/100, Loss: 1.0314\n",
      "Epoch 74/100, Loss: 1.1844\n",
      "Epoch 74/100, Loss: 0.7581\n",
      "Epoch 74/100, Loss: 1.6164\n",
      "Epoch 74/100, Loss: 1.5799\n",
      "Epoch 75/100, Loss: 1.0779\n",
      "Epoch 75/100, Loss: 1.0087\n",
      "Epoch 75/100, Loss: 2.3383\n",
      "Epoch 75/100, Loss: 0.7497\n",
      "Epoch 75/100, Loss: 0.9443\n",
      "Epoch 75/100, Loss: 0.6909\n",
      "Epoch 75/100, Loss: 2.4632\n",
      "Epoch 75/100, Loss: 2.8973\n",
      "Epoch 75/100, Loss: 1.4963\n",
      "Epoch 75/100, Loss: 1.8622\n",
      "Epoch 75/100, Loss: 2.8659\n",
      "Epoch 75/100, Loss: 1.1404\n",
      "Epoch 75/100, Loss: 2.4854\n",
      "Epoch 75/100, Loss: 1.2341\n",
      "Epoch 75/100, Loss: 2.6353\n",
      "Epoch 75/100, Loss: 0.9252\n",
      "Epoch 75/100, Loss: 1.5050\n",
      "Epoch 75/100, Loss: 1.2639\n",
      "Epoch 75/100, Loss: 1.5081\n",
      "Epoch 75/100, Loss: 1.0727\n",
      "Epoch 75/100, Loss: 2.0941\n",
      "Epoch 75/100, Loss: 0.8308\n",
      "Epoch 75/100, Loss: 1.0333\n",
      "Epoch 75/100, Loss: 1.3940\n",
      "Epoch 75/100, Loss: 2.9805\n",
      "Epoch 75/100, Loss: 1.0504\n",
      "Epoch 75/100, Loss: 1.0753\n",
      "Epoch 75/100, Loss: 2.1339\n",
      "Epoch 75/100, Loss: 1.0405\n",
      "Epoch 75/100, Loss: 2.1240\n",
      "Epoch 75/100, Loss: 1.0690\n",
      "Epoch 75/100, Loss: 1.5793\n",
      "Epoch 75/100, Loss: 1.5777\n",
      "Epoch 75/100, Loss: 1.6390\n",
      "Epoch 75/100, Loss: 0.9647\n",
      "Epoch 75/100, Loss: 1.4124\n",
      "Epoch 75/100, Loss: 0.9753\n",
      "Epoch 75/100, Loss: 2.3569\n",
      "Epoch 75/100, Loss: 2.1036\n",
      "Epoch 75/100, Loss: 1.4970\n",
      "Epoch 75/100, Loss: 2.1001\n",
      "Epoch 75/100, Loss: 0.8271\n",
      "Epoch 75/100, Loss: 1.6286\n",
      "Epoch 75/100, Loss: 2.5761\n",
      "Epoch 75/100, Loss: 2.0583\n",
      "Epoch 75/100, Loss: 1.0062\n",
      "Epoch 75/100, Loss: 1.5737\n",
      "Epoch 75/100, Loss: 2.0448\n",
      "Epoch 75/100, Loss: 1.1029\n",
      "Epoch 75/100, Loss: 0.7282\n",
      "Epoch 75/100, Loss: 2.9154\n",
      "Epoch 75/100, Loss: 3.0697\n",
      "Epoch 75/100, Loss: 1.5305\n",
      "Epoch 75/100, Loss: 1.4722\n",
      "Epoch 75/100, Loss: 2.1370\n",
      "Epoch 75/100, Loss: 2.8815\n",
      "Epoch 75/100, Loss: 1.5512\n",
      "Epoch 75/100, Loss: 1.4868\n",
      "Epoch 75/100, Loss: 2.1174\n",
      "Epoch 75/100, Loss: 1.5946\n",
      "Epoch 75/100, Loss: 1.4532\n",
      "Epoch 75/100, Loss: 2.3855\n",
      "Epoch 76/100, Loss: 2.7295\n",
      "Epoch 76/100, Loss: 0.6630\n",
      "Epoch 76/100, Loss: 2.1144\n",
      "Epoch 76/100, Loss: 1.9711\n",
      "Epoch 76/100, Loss: 1.5014\n",
      "Epoch 76/100, Loss: 2.5032\n",
      "Epoch 76/100, Loss: 0.6165\n",
      "Epoch 76/100, Loss: 2.0729\n",
      "Epoch 76/100, Loss: 1.0847\n",
      "Epoch 76/100, Loss: 0.5768\n",
      "Epoch 76/100, Loss: 1.5798\n",
      "Epoch 76/100, Loss: 1.9323\n",
      "Epoch 76/100, Loss: 2.7394\n",
      "Epoch 76/100, Loss: 1.5354\n",
      "Epoch 76/100, Loss: 1.1897\n",
      "Epoch 76/100, Loss: 1.4539\n",
      "Epoch 76/100, Loss: 1.2294\n",
      "Epoch 76/100, Loss: 2.9050\n",
      "Epoch 76/100, Loss: 1.8802\n",
      "Epoch 76/100, Loss: 1.2857\n",
      "Epoch 76/100, Loss: 1.3561\n",
      "Epoch 76/100, Loss: 1.4780\n",
      "Epoch 76/100, Loss: 1.9397\n",
      "Epoch 76/100, Loss: 1.2546\n",
      "Epoch 76/100, Loss: 1.5828\n",
      "Epoch 76/100, Loss: 3.0061\n",
      "Epoch 76/100, Loss: 1.5091\n",
      "Epoch 76/100, Loss: 2.3384\n",
      "Epoch 76/100, Loss: 0.5723\n",
      "Epoch 76/100, Loss: 1.1988\n",
      "Epoch 76/100, Loss: 0.9813\n",
      "Epoch 76/100, Loss: 2.5780\n",
      "Epoch 76/100, Loss: 2.0930\n",
      "Epoch 76/100, Loss: 1.4379\n",
      "Epoch 76/100, Loss: 1.1261\n",
      "Epoch 76/100, Loss: 1.4100\n",
      "Epoch 76/100, Loss: 1.4387\n",
      "Epoch 76/100, Loss: 0.9688\n",
      "Epoch 76/100, Loss: 2.5779\n",
      "Epoch 76/100, Loss: 0.6339\n",
      "Epoch 76/100, Loss: 1.3852\n",
      "Epoch 76/100, Loss: 0.9187\n",
      "Epoch 76/100, Loss: 2.1187\n",
      "Epoch 76/100, Loss: 1.7027\n",
      "Epoch 76/100, Loss: 1.0682\n",
      "Epoch 76/100, Loss: 2.0257\n",
      "Epoch 76/100, Loss: 1.6835\n",
      "Epoch 76/100, Loss: 1.3327\n",
      "Epoch 76/100, Loss: 1.0563\n",
      "Epoch 76/100, Loss: 2.6965\n",
      "Epoch 76/100, Loss: 1.1687\n",
      "Epoch 76/100, Loss: 3.0665\n",
      "Epoch 76/100, Loss: 1.2094\n",
      "Epoch 76/100, Loss: 1.1553\n",
      "Epoch 76/100, Loss: 1.2811\n",
      "Epoch 76/100, Loss: 2.0585\n",
      "Epoch 76/100, Loss: 2.5188\n",
      "Epoch 76/100, Loss: 2.9145\n",
      "Epoch 76/100, Loss: 1.6012\n",
      "Epoch 76/100, Loss: 1.5584\n",
      "Epoch 76/100, Loss: 1.0672\n",
      "Epoch 76/100, Loss: 2.5091\n",
      "Epoch 77/100, Loss: 2.7407\n",
      "Epoch 77/100, Loss: 1.0696\n",
      "Epoch 77/100, Loss: 1.1465\n",
      "Epoch 77/100, Loss: 1.0980\n",
      "Epoch 77/100, Loss: 2.0134\n",
      "Epoch 77/100, Loss: 2.7378\n",
      "Epoch 77/100, Loss: 2.1316\n",
      "Epoch 77/100, Loss: 1.0060\n",
      "Epoch 77/100, Loss: 1.5257\n",
      "Epoch 77/100, Loss: 2.3565\n",
      "Epoch 77/100, Loss: 1.5103\n",
      "Epoch 77/100, Loss: 0.8684\n",
      "Epoch 77/100, Loss: 0.7974\n",
      "Epoch 77/100, Loss: 1.0770\n",
      "Epoch 77/100, Loss: 1.5366\n",
      "Epoch 77/100, Loss: 1.5096\n",
      "Epoch 77/100, Loss: 1.3443\n",
      "Epoch 77/100, Loss: 1.5803\n",
      "Epoch 77/100, Loss: 0.7063\n",
      "Epoch 77/100, Loss: 2.0519\n",
      "Epoch 77/100, Loss: 1.4382\n",
      "Epoch 77/100, Loss: 2.1153\n",
      "Epoch 77/100, Loss: 1.0544\n",
      "Epoch 77/100, Loss: 2.0847\n",
      "Epoch 77/100, Loss: 2.2853\n",
      "Epoch 77/100, Loss: 1.3196\n",
      "Epoch 77/100, Loss: 1.1076\n",
      "Epoch 77/100, Loss: 1.6332\n",
      "Epoch 77/100, Loss: 0.9341\n",
      "Epoch 77/100, Loss: 2.0533\n",
      "Epoch 77/100, Loss: 2.4586\n",
      "Epoch 77/100, Loss: 2.0472\n",
      "Epoch 77/100, Loss: 1.2809\n",
      "Epoch 77/100, Loss: 2.5982\n",
      "Epoch 77/100, Loss: 0.9643\n",
      "Epoch 77/100, Loss: 1.0513\n",
      "Epoch 77/100, Loss: 1.2603\n",
      "Epoch 77/100, Loss: 2.3967\n",
      "Epoch 77/100, Loss: 0.9704\n",
      "Epoch 77/100, Loss: 1.2609\n",
      "Epoch 77/100, Loss: 0.9847\n",
      "Epoch 77/100, Loss: 1.3760\n",
      "Epoch 77/100, Loss: 1.1495\n",
      "Epoch 77/100, Loss: 0.7459\n",
      "Epoch 77/100, Loss: 1.5777\n",
      "Epoch 77/100, Loss: 1.4389\n",
      "Epoch 77/100, Loss: 3.0353\n",
      "Epoch 77/100, Loss: 1.4744\n",
      "Epoch 77/100, Loss: 1.4305\n",
      "Epoch 77/100, Loss: 2.1007\n",
      "Epoch 77/100, Loss: 2.9417\n",
      "Epoch 77/100, Loss: 2.8630\n",
      "Epoch 77/100, Loss: 2.0896\n",
      "Epoch 77/100, Loss: 3.0197\n",
      "Epoch 77/100, Loss: 1.5173\n",
      "Epoch 77/100, Loss: 1.6413\n",
      "Epoch 77/100, Loss: 2.4935\n",
      "Epoch 77/100, Loss: 0.7434\n",
      "Epoch 77/100, Loss: 1.5783\n",
      "Epoch 77/100, Loss: 2.0560\n",
      "Epoch 77/100, Loss: 1.1670\n",
      "Epoch 77/100, Loss: 2.4912\n",
      "Epoch 78/100, Loss: 1.5016\n",
      "Epoch 78/100, Loss: 1.3669\n",
      "Epoch 78/100, Loss: 1.4956\n",
      "Epoch 78/100, Loss: 1.1379\n",
      "Epoch 78/100, Loss: 1.1177\n",
      "Epoch 78/100, Loss: 1.3896\n",
      "Epoch 78/100, Loss: 1.5543\n",
      "Epoch 78/100, Loss: 1.1101\n",
      "Epoch 78/100, Loss: 2.3469\n",
      "Epoch 78/100, Loss: 1.0912\n",
      "Epoch 78/100, Loss: 2.9288\n",
      "Epoch 78/100, Loss: 1.1422\n",
      "Epoch 78/100, Loss: 0.7804\n",
      "Epoch 78/100, Loss: 1.1001\n",
      "Epoch 78/100, Loss: 2.9409\n",
      "Epoch 78/100, Loss: 1.2303\n",
      "Epoch 78/100, Loss: 1.4338\n",
      "Epoch 78/100, Loss: 1.5593\n",
      "Epoch 78/100, Loss: 0.9489\n",
      "Epoch 78/100, Loss: 2.0914\n",
      "Epoch 78/100, Loss: 2.7815\n",
      "Epoch 78/100, Loss: 1.0990\n",
      "Epoch 78/100, Loss: 1.3126\n",
      "Epoch 78/100, Loss: 2.2632\n",
      "Epoch 78/100, Loss: 1.4884\n",
      "Epoch 78/100, Loss: 1.0087\n",
      "Epoch 78/100, Loss: 2.7621\n",
      "Epoch 78/100, Loss: 1.6641\n",
      "Epoch 78/100, Loss: 0.7200\n",
      "Epoch 78/100, Loss: 2.0352\n",
      "Epoch 78/100, Loss: 2.7926\n",
      "Epoch 78/100, Loss: 1.4848\n",
      "Epoch 78/100, Loss: 1.9999\n",
      "Epoch 78/100, Loss: 1.3552\n",
      "Epoch 78/100, Loss: 1.4945\n",
      "Epoch 78/100, Loss: 2.0738\n",
      "Epoch 78/100, Loss: 1.5447\n",
      "Epoch 78/100, Loss: 2.3994\n",
      "Epoch 78/100, Loss: 2.1033\n",
      "Epoch 78/100, Loss: 2.7876\n",
      "Epoch 78/100, Loss: 0.7798\n",
      "Epoch 78/100, Loss: 1.0649\n",
      "Epoch 78/100, Loss: 1.2097\n",
      "Epoch 78/100, Loss: 0.9428\n",
      "Epoch 78/100, Loss: 1.1306\n",
      "Epoch 78/100, Loss: 0.7309\n",
      "Epoch 78/100, Loss: 2.0293\n",
      "Epoch 78/100, Loss: 1.9902\n",
      "Epoch 78/100, Loss: 2.4715\n",
      "Epoch 78/100, Loss: 2.1771\n",
      "Epoch 78/100, Loss: 1.6528\n",
      "Epoch 78/100, Loss: 0.6689\n",
      "Epoch 78/100, Loss: 2.5220\n",
      "Epoch 78/100, Loss: 0.9884\n",
      "Epoch 78/100, Loss: 2.6047\n",
      "Epoch 78/100, Loss: 1.4962\n",
      "Epoch 78/100, Loss: 2.1279\n",
      "Epoch 78/100, Loss: 2.6089\n",
      "Epoch 78/100, Loss: 1.5377\n",
      "Epoch 78/100, Loss: 1.9906\n",
      "Epoch 78/100, Loss: 1.5411\n",
      "Epoch 78/100, Loss: 1.1960\n",
      "Epoch 79/100, Loss: 2.7250\n",
      "Epoch 79/100, Loss: 2.0042\n",
      "Epoch 79/100, Loss: 2.7800\n",
      "Epoch 79/100, Loss: 1.6047\n",
      "Epoch 79/100, Loss: 2.3096\n",
      "Epoch 79/100, Loss: 1.9543\n",
      "Epoch 79/100, Loss: 0.8016\n",
      "Epoch 79/100, Loss: 1.4782\n",
      "Epoch 79/100, Loss: 1.5650\n",
      "Epoch 79/100, Loss: 1.2974\n",
      "Epoch 79/100, Loss: 1.3808\n",
      "Epoch 79/100, Loss: 1.1941\n",
      "Epoch 79/100, Loss: 1.8597\n",
      "Epoch 79/100, Loss: 1.1211\n",
      "Epoch 79/100, Loss: 1.0216\n",
      "Epoch 79/100, Loss: 2.2903\n",
      "Epoch 79/100, Loss: 0.7645\n",
      "Epoch 79/100, Loss: 1.3643\n",
      "Epoch 79/100, Loss: 0.9062\n",
      "Epoch 79/100, Loss: 1.0252\n",
      "Epoch 79/100, Loss: 1.9171\n",
      "Epoch 79/100, Loss: 1.4768\n",
      "Epoch 79/100, Loss: 1.2336\n",
      "Epoch 79/100, Loss: 1.1581\n",
      "Epoch 79/100, Loss: 1.8919\n",
      "Epoch 79/100, Loss: 2.4939\n",
      "Epoch 79/100, Loss: 2.8497\n",
      "Epoch 79/100, Loss: 1.1869\n",
      "Epoch 79/100, Loss: 1.3954\n",
      "Epoch 79/100, Loss: 2.1149\n",
      "Epoch 79/100, Loss: 2.4295\n",
      "Epoch 79/100, Loss: 2.0289\n",
      "Epoch 79/100, Loss: 1.9148\n",
      "Epoch 79/100, Loss: 1.4874\n",
      "Epoch 79/100, Loss: 1.1539\n",
      "Epoch 79/100, Loss: 1.4199\n",
      "Epoch 79/100, Loss: 1.1850\n",
      "Epoch 79/100, Loss: 1.5453\n",
      "Epoch 79/100, Loss: 1.0692\n",
      "Epoch 79/100, Loss: 2.9132\n",
      "Epoch 79/100, Loss: 1.3752\n",
      "Epoch 79/100, Loss: 1.5838\n",
      "Epoch 79/100, Loss: 1.4644\n",
      "Epoch 79/100, Loss: 1.6283\n",
      "Epoch 79/100, Loss: 1.6123\n",
      "Epoch 79/100, Loss: 1.1001\n",
      "Epoch 79/100, Loss: 3.0249\n",
      "Epoch 79/100, Loss: 0.9908\n",
      "Epoch 79/100, Loss: 2.6414\n",
      "Epoch 79/100, Loss: 0.7217\n",
      "Epoch 79/100, Loss: 1.1222\n",
      "Epoch 79/100, Loss: 0.6785\n",
      "Epoch 79/100, Loss: 2.1241\n",
      "Epoch 79/100, Loss: 1.3273\n",
      "Epoch 79/100, Loss: 0.6248\n",
      "Epoch 79/100, Loss: 1.6332\n",
      "Epoch 79/100, Loss: 1.3066\n",
      "Epoch 79/100, Loss: 2.1233\n",
      "Epoch 79/100, Loss: 2.9846\n",
      "Epoch 79/100, Loss: 1.1754\n",
      "Epoch 79/100, Loss: 2.6628\n",
      "Epoch 79/100, Loss: 2.4977\n",
      "Epoch 80/100, Loss: 0.6927\n",
      "Epoch 80/100, Loss: 0.9183\n",
      "Epoch 80/100, Loss: 0.6372\n",
      "Epoch 80/100, Loss: 1.8370\n",
      "Epoch 80/100, Loss: 1.9833\n",
      "Epoch 80/100, Loss: 2.8836\n",
      "Epoch 80/100, Loss: 1.3957\n",
      "Epoch 80/100, Loss: 1.5214\n",
      "Epoch 80/100, Loss: 1.1697\n",
      "Epoch 80/100, Loss: 1.4744\n",
      "Epoch 80/100, Loss: 2.5413\n",
      "Epoch 80/100, Loss: 1.1500\n",
      "Epoch 80/100, Loss: 1.5396\n",
      "Epoch 80/100, Loss: 2.2602\n",
      "Epoch 80/100, Loss: 1.0862\n",
      "Epoch 80/100, Loss: 2.0391\n",
      "Epoch 80/100, Loss: 2.6100\n",
      "Epoch 80/100, Loss: 1.4642\n",
      "Epoch 80/100, Loss: 1.0572\n",
      "Epoch 80/100, Loss: 0.6410\n",
      "Epoch 80/100, Loss: 2.8747\n",
      "Epoch 80/100, Loss: 2.0563\n",
      "Epoch 80/100, Loss: 0.9215\n",
      "Epoch 80/100, Loss: 0.5779\n",
      "Epoch 80/100, Loss: 1.3355\n",
      "Epoch 80/100, Loss: 2.0217\n",
      "Epoch 80/100, Loss: 2.7001\n",
      "Epoch 80/100, Loss: 1.5467\n",
      "Epoch 80/100, Loss: 1.6499\n",
      "Epoch 80/100, Loss: 2.7932\n",
      "Epoch 80/100, Loss: 0.5879\n",
      "Epoch 80/100, Loss: 1.4967\n",
      "Epoch 80/100, Loss: 1.0858\n",
      "Epoch 80/100, Loss: 1.2594\n",
      "Epoch 80/100, Loss: 1.1288\n",
      "Epoch 80/100, Loss: 3.0172\n",
      "Epoch 80/100, Loss: 2.8731\n",
      "Epoch 80/100, Loss: 1.3727\n",
      "Epoch 80/100, Loss: 1.2574\n",
      "Epoch 80/100, Loss: 1.9000\n",
      "Epoch 80/100, Loss: 2.4775\n",
      "Epoch 80/100, Loss: 2.0889\n",
      "Epoch 80/100, Loss: 1.5679\n",
      "Epoch 80/100, Loss: 1.4282\n",
      "Epoch 80/100, Loss: 1.9433\n",
      "Epoch 80/100, Loss: 2.5480\n",
      "Epoch 80/100, Loss: 1.2011\n",
      "Epoch 80/100, Loss: 1.3583\n",
      "Epoch 80/100, Loss: 2.9617\n",
      "Epoch 80/100, Loss: 2.0585\n",
      "Epoch 80/100, Loss: 1.1416\n",
      "Epoch 80/100, Loss: 1.3433\n",
      "Epoch 80/100, Loss: 1.0001\n",
      "Epoch 80/100, Loss: 1.1591\n",
      "Epoch 80/100, Loss: 1.4518\n",
      "Epoch 80/100, Loss: 2.1986\n",
      "Epoch 80/100, Loss: 1.2630\n",
      "Epoch 80/100, Loss: 1.1598\n",
      "Epoch 80/100, Loss: 1.6112\n",
      "Epoch 80/100, Loss: 2.4281\n",
      "Epoch 80/100, Loss: 1.5452\n",
      "Epoch 80/100, Loss: 1.1771\n",
      "Epoch 81/100, Loss: 2.7496\n",
      "Epoch 81/100, Loss: 2.8729\n",
      "Epoch 81/100, Loss: 1.6046\n",
      "Epoch 81/100, Loss: 1.3856\n",
      "Epoch 81/100, Loss: 1.5258\n",
      "Epoch 81/100, Loss: 0.7479\n",
      "Epoch 81/100, Loss: 1.1688\n",
      "Epoch 81/100, Loss: 2.3402\n",
      "Epoch 81/100, Loss: 1.0471\n",
      "Epoch 81/100, Loss: 1.4994\n",
      "Epoch 81/100, Loss: 1.1648\n",
      "Epoch 81/100, Loss: 1.1120\n",
      "Epoch 81/100, Loss: 0.9365\n",
      "Epoch 81/100, Loss: 1.1469\n",
      "Epoch 81/100, Loss: 1.0914\n",
      "Epoch 81/100, Loss: 1.4706\n",
      "Epoch 81/100, Loss: 2.1005\n",
      "Epoch 81/100, Loss: 1.4595\n",
      "Epoch 81/100, Loss: 2.4652\n",
      "Epoch 81/100, Loss: 0.9420\n",
      "Epoch 81/100, Loss: 1.1412\n",
      "Epoch 81/100, Loss: 0.7931\n",
      "Epoch 81/100, Loss: 2.2166\n",
      "Epoch 81/100, Loss: 1.4643\n",
      "Epoch 81/100, Loss: 1.1021\n",
      "Epoch 81/100, Loss: 2.8321\n",
      "Epoch 81/100, Loss: 1.0373\n",
      "Epoch 81/100, Loss: 1.9189\n",
      "Epoch 81/100, Loss: 1.9591\n",
      "Epoch 81/100, Loss: 1.9726\n",
      "Epoch 81/100, Loss: 1.5261\n",
      "Epoch 81/100, Loss: 2.0276\n",
      "Epoch 81/100, Loss: 2.0325\n",
      "Epoch 81/100, Loss: 0.9749\n",
      "Epoch 81/100, Loss: 2.3803\n",
      "Epoch 81/100, Loss: 1.5525\n",
      "Epoch 81/100, Loss: 1.3786\n",
      "Epoch 81/100, Loss: 1.1157\n",
      "Epoch 81/100, Loss: 1.3020\n",
      "Epoch 81/100, Loss: 1.4594\n",
      "Epoch 81/100, Loss: 2.1485\n",
      "Epoch 81/100, Loss: 1.5517\n",
      "Epoch 81/100, Loss: 2.6997\n",
      "Epoch 81/100, Loss: 1.1285\n",
      "Epoch 81/100, Loss: 2.8322\n",
      "Epoch 81/100, Loss: 2.6157\n",
      "Epoch 81/100, Loss: 2.3317\n",
      "Epoch 81/100, Loss: 1.1806\n",
      "Epoch 81/100, Loss: 2.0592\n",
      "Epoch 81/100, Loss: 1.5707\n",
      "Epoch 81/100, Loss: 0.8823\n",
      "Epoch 81/100, Loss: 2.4479\n",
      "Epoch 81/100, Loss: 1.5716\n",
      "Epoch 81/100, Loss: 1.4609\n",
      "Epoch 81/100, Loss: 1.5000\n",
      "Epoch 81/100, Loss: 2.1259\n",
      "Epoch 81/100, Loss: 2.0057\n",
      "Epoch 81/100, Loss: 1.5653\n",
      "Epoch 81/100, Loss: 0.8248\n",
      "Epoch 81/100, Loss: 2.9923\n",
      "Epoch 81/100, Loss: 1.1617\n",
      "Epoch 81/100, Loss: 0.7582\n",
      "Epoch 82/100, Loss: 1.2278\n",
      "Epoch 82/100, Loss: 0.6982\n",
      "Epoch 82/100, Loss: 2.0434\n",
      "Epoch 82/100, Loss: 2.3766\n",
      "Epoch 82/100, Loss: 2.3962\n",
      "Epoch 82/100, Loss: 2.7314\n",
      "Epoch 82/100, Loss: 2.9103\n",
      "Epoch 82/100, Loss: 1.3984\n",
      "Epoch 82/100, Loss: 1.1941\n",
      "Epoch 82/100, Loss: 1.1852\n",
      "Epoch 82/100, Loss: 2.4231\n",
      "Epoch 82/100, Loss: 1.1079\n",
      "Epoch 82/100, Loss: 1.1946\n",
      "Epoch 82/100, Loss: 1.3788\n",
      "Epoch 82/100, Loss: 0.9365\n",
      "Epoch 82/100, Loss: 2.9266\n",
      "Epoch 82/100, Loss: 2.5939\n",
      "Epoch 82/100, Loss: 1.4729\n",
      "Epoch 82/100, Loss: 0.7640\n",
      "Epoch 82/100, Loss: 1.4489\n",
      "Epoch 82/100, Loss: 1.8755\n",
      "Epoch 82/100, Loss: 1.1017\n",
      "Epoch 82/100, Loss: 1.4734\n",
      "Epoch 82/100, Loss: 1.3886\n",
      "Epoch 82/100, Loss: 1.0509\n",
      "Epoch 82/100, Loss: 0.7109\n",
      "Epoch 82/100, Loss: 2.4550\n",
      "Epoch 82/100, Loss: 1.5566\n",
      "Epoch 82/100, Loss: 1.0320\n",
      "Epoch 82/100, Loss: 1.4338\n",
      "Epoch 82/100, Loss: 0.9509\n",
      "Epoch 82/100, Loss: 1.8868\n",
      "Epoch 82/100, Loss: 2.8837\n",
      "Epoch 82/100, Loss: 1.4568\n",
      "Epoch 82/100, Loss: 1.5928\n",
      "Epoch 82/100, Loss: 1.0616\n",
      "Epoch 82/100, Loss: 1.6147\n",
      "Epoch 82/100, Loss: 2.2703\n",
      "Epoch 82/100, Loss: 2.9056\n",
      "Epoch 82/100, Loss: 1.0900\n",
      "Epoch 82/100, Loss: 0.9603\n",
      "Epoch 82/100, Loss: 2.0756\n",
      "Epoch 82/100, Loss: 1.4314\n",
      "Epoch 82/100, Loss: 2.1564\n",
      "Epoch 82/100, Loss: 1.5005\n",
      "Epoch 82/100, Loss: 1.4948\n",
      "Epoch 82/100, Loss: 1.6649\n",
      "Epoch 82/100, Loss: 1.6038\n",
      "Epoch 82/100, Loss: 1.0691\n",
      "Epoch 82/100, Loss: 2.9019\n",
      "Epoch 82/100, Loss: 0.7546\n",
      "Epoch 82/100, Loss: 2.0282\n",
      "Epoch 82/100, Loss: 1.1233\n",
      "Epoch 82/100, Loss: 1.9827\n",
      "Epoch 82/100, Loss: 2.5315\n",
      "Epoch 82/100, Loss: 1.3702\n",
      "Epoch 82/100, Loss: 2.0754\n",
      "Epoch 82/100, Loss: 2.0796\n",
      "Epoch 82/100, Loss: 0.7583\n",
      "Epoch 82/100, Loss: 1.3011\n",
      "Epoch 82/100, Loss: 1.1413\n",
      "Epoch 82/100, Loss: 2.0860\n",
      "Epoch 83/100, Loss: 1.0643\n",
      "Epoch 83/100, Loss: 1.3921\n",
      "Epoch 83/100, Loss: 2.3194\n",
      "Epoch 83/100, Loss: 2.4115\n",
      "Epoch 83/100, Loss: 2.3588\n",
      "Epoch 83/100, Loss: 0.8238\n",
      "Epoch 83/100, Loss: 1.8398\n",
      "Epoch 83/100, Loss: 1.4743\n",
      "Epoch 83/100, Loss: 1.9962\n",
      "Epoch 83/100, Loss: 1.9913\n",
      "Epoch 83/100, Loss: 2.7380\n",
      "Epoch 83/100, Loss: 2.3651\n",
      "Epoch 83/100, Loss: 2.8575\n",
      "Epoch 83/100, Loss: 0.9532\n",
      "Epoch 83/100, Loss: 1.4158\n",
      "Epoch 83/100, Loss: 0.9461\n",
      "Epoch 83/100, Loss: 1.2068\n",
      "Epoch 83/100, Loss: 0.7903\n",
      "Epoch 83/100, Loss: 2.0931\n",
      "Epoch 83/100, Loss: 2.7431\n",
      "Epoch 83/100, Loss: 1.4614\n",
      "Epoch 83/100, Loss: 1.5430\n",
      "Epoch 83/100, Loss: 0.7168\n",
      "Epoch 83/100, Loss: 1.4797\n",
      "Epoch 83/100, Loss: 1.8486\n",
      "Epoch 83/100, Loss: 1.1547\n",
      "Epoch 83/100, Loss: 1.5876\n",
      "Epoch 83/100, Loss: 1.8936\n",
      "Epoch 83/100, Loss: 1.0862\n",
      "Epoch 83/100, Loss: 1.5544\n",
      "Epoch 83/100, Loss: 1.2763\n",
      "Epoch 83/100, Loss: 1.6223\n",
      "Epoch 83/100, Loss: 1.2847\n",
      "Epoch 83/100, Loss: 1.2751\n",
      "Epoch 83/100, Loss: 2.8388\n",
      "Epoch 83/100, Loss: 0.9231\n",
      "Epoch 83/100, Loss: 0.6547\n",
      "Epoch 83/100, Loss: 2.0624\n",
      "Epoch 83/100, Loss: 1.3168\n",
      "Epoch 83/100, Loss: 1.5788\n",
      "Epoch 83/100, Loss: 1.6734\n",
      "Epoch 83/100, Loss: 1.0882\n",
      "Epoch 83/100, Loss: 2.5594\n",
      "Epoch 83/100, Loss: 1.5370\n",
      "Epoch 83/100, Loss: 1.0717\n",
      "Epoch 83/100, Loss: 2.2817\n",
      "Epoch 83/100, Loss: 0.6882\n",
      "Epoch 83/100, Loss: 1.1940\n",
      "Epoch 83/100, Loss: 2.9712\n",
      "Epoch 83/100, Loss: 2.1713\n",
      "Epoch 83/100, Loss: 1.2824\n",
      "Epoch 83/100, Loss: 1.4884\n",
      "Epoch 83/100, Loss: 1.1507\n",
      "Epoch 83/100, Loss: 2.6491\n",
      "Epoch 83/100, Loss: 1.1530\n",
      "Epoch 83/100, Loss: 2.9017\n",
      "Epoch 83/100, Loss: 0.9568\n",
      "Epoch 83/100, Loss: 1.1078\n",
      "Epoch 83/100, Loss: 1.5636\n",
      "Epoch 83/100, Loss: 1.5202\n",
      "Epoch 83/100, Loss: 2.0667\n",
      "Epoch 83/100, Loss: 2.0751\n",
      "Epoch 84/100, Loss: 1.8855\n",
      "Epoch 84/100, Loss: 1.2681\n",
      "Epoch 84/100, Loss: 2.7372\n",
      "Epoch 84/100, Loss: 1.2034\n",
      "Epoch 84/100, Loss: 2.4233\n",
      "Epoch 84/100, Loss: 0.9897\n",
      "Epoch 84/100, Loss: 1.4358\n",
      "Epoch 84/100, Loss: 1.4525\n",
      "Epoch 84/100, Loss: 1.5028\n",
      "Epoch 84/100, Loss: 1.3519\n",
      "Epoch 84/100, Loss: 1.5158\n",
      "Epoch 84/100, Loss: 1.2746\n",
      "Epoch 84/100, Loss: 1.5221\n",
      "Epoch 84/100, Loss: 1.9442\n",
      "Epoch 84/100, Loss: 1.1962\n",
      "Epoch 84/100, Loss: 1.0655\n",
      "Epoch 84/100, Loss: 0.9374\n",
      "Epoch 84/100, Loss: 1.1148\n",
      "Epoch 84/100, Loss: 2.0494\n",
      "Epoch 84/100, Loss: 2.3610\n",
      "Epoch 84/100, Loss: 0.7379\n",
      "Epoch 84/100, Loss: 1.8999\n",
      "Epoch 84/100, Loss: 1.4150\n",
      "Epoch 84/100, Loss: 2.6171\n",
      "Epoch 84/100, Loss: 0.6733\n",
      "Epoch 84/100, Loss: 1.1141\n",
      "Epoch 84/100, Loss: 2.4741\n",
      "Epoch 84/100, Loss: 2.0496\n",
      "Epoch 84/100, Loss: 1.3390\n",
      "Epoch 84/100, Loss: 0.9392\n",
      "Epoch 84/100, Loss: 1.9620\n",
      "Epoch 84/100, Loss: 2.7659\n",
      "Epoch 84/100, Loss: 2.8511\n",
      "Epoch 84/100, Loss: 2.9315\n",
      "Epoch 84/100, Loss: 1.4765\n",
      "Epoch 84/100, Loss: 1.1626\n",
      "Epoch 84/100, Loss: 1.5845\n",
      "Epoch 84/100, Loss: 2.8245\n",
      "Epoch 84/100, Loss: 2.0234\n",
      "Epoch 84/100, Loss: 1.1692\n",
      "Epoch 84/100, Loss: 1.9566\n",
      "Epoch 84/100, Loss: 1.5034\n",
      "Epoch 84/100, Loss: 1.4008\n",
      "Epoch 84/100, Loss: 2.4508\n",
      "Epoch 84/100, Loss: 1.9956\n",
      "Epoch 84/100, Loss: 1.1045\n",
      "Epoch 84/100, Loss: 1.5406\n",
      "Epoch 84/100, Loss: 0.7983\n",
      "Epoch 84/100, Loss: 1.2469\n",
      "Epoch 84/100, Loss: 1.1684\n",
      "Epoch 84/100, Loss: 1.0904\n",
      "Epoch 84/100, Loss: 2.0132\n",
      "Epoch 84/100, Loss: 1.5936\n",
      "Epoch 84/100, Loss: 2.2582\n",
      "Epoch 84/100, Loss: 1.2913\n",
      "Epoch 84/100, Loss: 0.7311\n",
      "Epoch 84/100, Loss: 1.6138\n",
      "Epoch 84/100, Loss: 2.5341\n",
      "Epoch 84/100, Loss: 3.0382\n",
      "Epoch 84/100, Loss: 1.4779\n",
      "Epoch 84/100, Loss: 1.1955\n",
      "Epoch 84/100, Loss: 0.7401\n",
      "Epoch 85/100, Loss: 1.4826\n",
      "Epoch 85/100, Loss: 1.2217\n",
      "Epoch 85/100, Loss: 2.3585\n",
      "Epoch 85/100, Loss: 1.9383\n",
      "Epoch 85/100, Loss: 2.3759\n",
      "Epoch 85/100, Loss: 1.1413\n",
      "Epoch 85/100, Loss: 1.9672\n",
      "Epoch 85/100, Loss: 1.5850\n",
      "Epoch 85/100, Loss: 0.8089\n",
      "Epoch 85/100, Loss: 1.0201\n",
      "Epoch 85/100, Loss: 2.8732\n",
      "Epoch 85/100, Loss: 0.8330\n",
      "Epoch 85/100, Loss: 1.3197\n",
      "Epoch 85/100, Loss: 1.0712\n",
      "Epoch 85/100, Loss: 1.3869\n",
      "Epoch 85/100, Loss: 2.1295\n",
      "Epoch 85/100, Loss: 1.4386\n",
      "Epoch 85/100, Loss: 1.5167\n",
      "Epoch 85/100, Loss: 1.9469\n",
      "Epoch 85/100, Loss: 1.9951\n",
      "Epoch 85/100, Loss: 0.7811\n",
      "Epoch 85/100, Loss: 1.8847\n",
      "Epoch 85/100, Loss: 1.4714\n",
      "Epoch 85/100, Loss: 0.6860\n",
      "Epoch 85/100, Loss: 1.5808\n",
      "Epoch 85/100, Loss: 1.1137\n",
      "Epoch 85/100, Loss: 1.1213\n",
      "Epoch 85/100, Loss: 1.0468\n",
      "Epoch 85/100, Loss: 2.9762\n",
      "Epoch 85/100, Loss: 1.4932\n",
      "Epoch 85/100, Loss: 2.6167\n",
      "Epoch 85/100, Loss: 1.4165\n",
      "Epoch 85/100, Loss: 1.4776\n",
      "Epoch 85/100, Loss: 2.8376\n",
      "Epoch 85/100, Loss: 2.8547\n",
      "Epoch 85/100, Loss: 1.9602\n",
      "Epoch 85/100, Loss: 2.8179\n",
      "Epoch 85/100, Loss: 1.1765\n",
      "Epoch 85/100, Loss: 1.0978\n",
      "Epoch 85/100, Loss: 1.9642\n",
      "Epoch 85/100, Loss: 1.4560\n",
      "Epoch 85/100, Loss: 1.6379\n",
      "Epoch 85/100, Loss: 1.5768\n",
      "Epoch 85/100, Loss: 1.5375\n",
      "Epoch 85/100, Loss: 0.8800\n",
      "Epoch 85/100, Loss: 2.1173\n",
      "Epoch 85/100, Loss: 2.8316\n",
      "Epoch 85/100, Loss: 1.1047\n",
      "Epoch 85/100, Loss: 2.3052\n",
      "Epoch 85/100, Loss: 1.0647\n",
      "Epoch 85/100, Loss: 2.0743\n",
      "Epoch 85/100, Loss: 2.5068\n",
      "Epoch 85/100, Loss: 1.0950\n",
      "Epoch 85/100, Loss: 0.7297\n",
      "Epoch 85/100, Loss: 1.5390\n",
      "Epoch 85/100, Loss: 1.0921\n",
      "Epoch 85/100, Loss: 2.4738\n",
      "Epoch 85/100, Loss: 1.4636\n",
      "Epoch 85/100, Loss: 2.5628\n",
      "Epoch 85/100, Loss: 1.2791\n",
      "Epoch 85/100, Loss: 0.9896\n",
      "Epoch 85/100, Loss: 0.7207\n",
      "Epoch 86/100, Loss: 1.2236\n",
      "Epoch 86/100, Loss: 1.3265\n",
      "Epoch 86/100, Loss: 2.4245\n",
      "Epoch 86/100, Loss: 2.4403\n",
      "Epoch 86/100, Loss: 1.9178\n",
      "Epoch 86/100, Loss: 2.7248\n",
      "Epoch 86/100, Loss: 1.0807\n",
      "Epoch 86/100, Loss: 1.5075\n",
      "Epoch 86/100, Loss: 1.4961\n",
      "Epoch 86/100, Loss: 1.4019\n",
      "Epoch 86/100, Loss: 1.4378\n",
      "Epoch 86/100, Loss: 1.2303\n",
      "Epoch 86/100, Loss: 1.4595\n",
      "Epoch 86/100, Loss: 1.1662\n",
      "Epoch 86/100, Loss: 2.3619\n",
      "Epoch 86/100, Loss: 1.1460\n",
      "Epoch 86/100, Loss: 1.0691\n",
      "Epoch 86/100, Loss: 1.5373\n",
      "Epoch 86/100, Loss: 2.3724\n",
      "Epoch 86/100, Loss: 1.0009\n",
      "Epoch 86/100, Loss: 1.1640\n",
      "Epoch 86/100, Loss: 1.3334\n",
      "Epoch 86/100, Loss: 0.8391\n",
      "Epoch 86/100, Loss: 1.4784\n",
      "Epoch 86/100, Loss: 1.4836\n",
      "Epoch 86/100, Loss: 1.3701\n",
      "Epoch 86/100, Loss: 2.7559\n",
      "Epoch 86/100, Loss: 0.8143\n",
      "Epoch 86/100, Loss: 1.2168\n",
      "Epoch 86/100, Loss: 1.8861\n",
      "Epoch 86/100, Loss: 2.8777\n",
      "Epoch 86/100, Loss: 2.3602\n",
      "Epoch 86/100, Loss: 1.6439\n",
      "Epoch 86/100, Loss: 2.0726\n",
      "Epoch 86/100, Loss: 0.9907\n",
      "Epoch 86/100, Loss: 0.8104\n",
      "Epoch 86/100, Loss: 0.9145\n",
      "Epoch 86/100, Loss: 1.3758\n",
      "Epoch 86/100, Loss: 1.5037\n",
      "Epoch 86/100, Loss: 1.9075\n",
      "Epoch 86/100, Loss: 0.7415\n",
      "Epoch 86/100, Loss: 1.1091\n",
      "Epoch 86/100, Loss: 1.1227\n",
      "Epoch 86/100, Loss: 0.7012\n",
      "Epoch 86/100, Loss: 2.1661\n",
      "Epoch 86/100, Loss: 1.6402\n",
      "Epoch 86/100, Loss: 2.1486\n",
      "Epoch 86/100, Loss: 2.9935\n",
      "Epoch 86/100, Loss: 2.6588\n",
      "Epoch 86/100, Loss: 2.0309\n",
      "Epoch 86/100, Loss: 1.0500\n",
      "Epoch 86/100, Loss: 2.1678\n",
      "Epoch 86/100, Loss: 1.6396\n",
      "Epoch 86/100, Loss: 1.4814\n",
      "Epoch 86/100, Loss: 2.0598\n",
      "Epoch 86/100, Loss: 2.0100\n",
      "Epoch 86/100, Loss: 2.8774\n",
      "Epoch 86/100, Loss: 2.9942\n",
      "Epoch 86/100, Loss: 1.9976\n",
      "Epoch 86/100, Loss: 1.0315\n",
      "Epoch 86/100, Loss: 0.9282\n",
      "Epoch 86/100, Loss: 0.9512\n",
      "Epoch 87/100, Loss: 1.0892\n",
      "Epoch 87/100, Loss: 1.1547\n",
      "Epoch 87/100, Loss: 1.9184\n",
      "Epoch 87/100, Loss: 1.3355\n",
      "Epoch 87/100, Loss: 1.4609\n",
      "Epoch 87/100, Loss: 0.9175\n",
      "Epoch 87/100, Loss: 1.3734\n",
      "Epoch 87/100, Loss: 2.8979\n",
      "Epoch 87/100, Loss: 1.5846\n",
      "Epoch 87/100, Loss: 1.2543\n",
      "Epoch 87/100, Loss: 1.9568\n",
      "Epoch 87/100, Loss: 2.7816\n",
      "Epoch 87/100, Loss: 1.0745\n",
      "Epoch 87/100, Loss: 2.5019\n",
      "Epoch 87/100, Loss: 2.7460\n",
      "Epoch 87/100, Loss: 1.1227\n",
      "Epoch 87/100, Loss: 1.4203\n",
      "Epoch 87/100, Loss: 1.0416\n",
      "Epoch 87/100, Loss: 1.0846\n",
      "Epoch 87/100, Loss: 2.8598\n",
      "Epoch 87/100, Loss: 1.3365\n",
      "Epoch 87/100, Loss: 0.8918\n",
      "Epoch 87/100, Loss: 2.0739\n",
      "Epoch 87/100, Loss: 1.5452\n",
      "Epoch 87/100, Loss: 0.6755\n",
      "Epoch 87/100, Loss: 2.4680\n",
      "Epoch 87/100, Loss: 0.6821\n",
      "Epoch 87/100, Loss: 1.5977\n",
      "Epoch 87/100, Loss: 1.3892\n",
      "Epoch 87/100, Loss: 1.1824\n",
      "Epoch 87/100, Loss: 0.9868\n",
      "Epoch 87/100, Loss: 2.6695\n",
      "Epoch 87/100, Loss: 1.4286\n",
      "Epoch 87/100, Loss: 1.0965\n",
      "Epoch 87/100, Loss: 1.4373\n",
      "Epoch 87/100, Loss: 2.4526\n",
      "Epoch 87/100, Loss: 0.6956\n",
      "Epoch 87/100, Loss: 1.5544\n",
      "Epoch 87/100, Loss: 2.1866\n",
      "Epoch 87/100, Loss: 1.0540\n",
      "Epoch 87/100, Loss: 1.8617\n",
      "Epoch 87/100, Loss: 2.0374\n",
      "Epoch 87/100, Loss: 2.9891\n",
      "Epoch 87/100, Loss: 0.6203\n",
      "Epoch 87/100, Loss: 2.8091\n",
      "Epoch 87/100, Loss: 2.1393\n",
      "Epoch 87/100, Loss: 2.0623\n",
      "Epoch 87/100, Loss: 1.3826\n",
      "Epoch 87/100, Loss: 1.5152\n",
      "Epoch 87/100, Loss: 1.1253\n",
      "Epoch 87/100, Loss: 2.6614\n",
      "Epoch 87/100, Loss: 1.0436\n",
      "Epoch 87/100, Loss: 1.1412\n",
      "Epoch 87/100, Loss: 1.5259\n",
      "Epoch 87/100, Loss: 1.5432\n",
      "Epoch 87/100, Loss: 2.0485\n",
      "Epoch 87/100, Loss: 1.9969\n",
      "Epoch 87/100, Loss: 1.9989\n",
      "Epoch 87/100, Loss: 0.6703\n",
      "Epoch 87/100, Loss: 2.5904\n",
      "Epoch 87/100, Loss: 1.2651\n",
      "Epoch 87/100, Loss: 1.5603\n",
      "Epoch 88/100, Loss: 1.4872\n",
      "Epoch 88/100, Loss: 1.1558\n",
      "Epoch 88/100, Loss: 1.3948\n",
      "Epoch 88/100, Loss: 2.4200\n",
      "Epoch 88/100, Loss: 1.1461\n",
      "Epoch 88/100, Loss: 2.5971\n",
      "Epoch 88/100, Loss: 0.6705\n",
      "Epoch 88/100, Loss: 0.9665\n",
      "Epoch 88/100, Loss: 1.3164\n",
      "Epoch 88/100, Loss: 1.1271\n",
      "Epoch 88/100, Loss: 0.9283\n",
      "Epoch 88/100, Loss: 1.4881\n",
      "Epoch 88/100, Loss: 1.9208\n",
      "Epoch 88/100, Loss: 1.9793\n",
      "Epoch 88/100, Loss: 2.1264\n",
      "Epoch 88/100, Loss: 1.3849\n",
      "Epoch 88/100, Loss: 1.8957\n",
      "Epoch 88/100, Loss: 0.6291\n",
      "Epoch 88/100, Loss: 1.5862\n",
      "Epoch 88/100, Loss: 1.3284\n",
      "Epoch 88/100, Loss: 2.0360\n",
      "Epoch 88/100, Loss: 2.7510\n",
      "Epoch 88/100, Loss: 2.0989\n",
      "Epoch 88/100, Loss: 1.4411\n",
      "Epoch 88/100, Loss: 1.1638\n",
      "Epoch 88/100, Loss: 2.0308\n",
      "Epoch 88/100, Loss: 1.0807\n",
      "Epoch 88/100, Loss: 1.0551\n",
      "Epoch 88/100, Loss: 2.7920\n",
      "Epoch 88/100, Loss: 2.7602\n",
      "Epoch 88/100, Loss: 2.4984\n",
      "Epoch 88/100, Loss: 2.9245\n",
      "Epoch 88/100, Loss: 1.1783\n",
      "Epoch 88/100, Loss: 0.6401\n",
      "Epoch 88/100, Loss: 1.2873\n",
      "Epoch 88/100, Loss: 1.9362\n",
      "Epoch 88/100, Loss: 1.5771\n",
      "Epoch 88/100, Loss: 1.2940\n",
      "Epoch 88/100, Loss: 2.8116\n",
      "Epoch 88/100, Loss: 1.9217\n",
      "Epoch 88/100, Loss: 1.5110\n",
      "Epoch 88/100, Loss: 1.3846\n",
      "Epoch 88/100, Loss: 2.4178\n",
      "Epoch 88/100, Loss: 0.7262\n",
      "Epoch 88/100, Loss: 1.0896\n",
      "Epoch 88/100, Loss: 1.5246\n",
      "Epoch 88/100, Loss: 1.5169\n",
      "Epoch 88/100, Loss: 1.4844\n",
      "Epoch 88/100, Loss: 1.2583\n",
      "Epoch 88/100, Loss: 1.9740\n",
      "Epoch 88/100, Loss: 1.2122\n",
      "Epoch 88/100, Loss: 2.4893\n",
      "Epoch 88/100, Loss: 1.2182\n",
      "Epoch 88/100, Loss: 0.7265\n",
      "Epoch 88/100, Loss: 2.9588\n",
      "Epoch 88/100, Loss: 1.1504\n",
      "Epoch 88/100, Loss: 1.5418\n",
      "Epoch 88/100, Loss: 2.5127\n",
      "Epoch 88/100, Loss: 1.4643\n",
      "Epoch 88/100, Loss: 0.9510\n",
      "Epoch 88/100, Loss: 1.8831\n",
      "Epoch 88/100, Loss: 1.5870\n",
      "Epoch 89/100, Loss: 1.8010\n",
      "Epoch 89/100, Loss: 1.4316\n",
      "Epoch 89/100, Loss: 1.5823\n",
      "Epoch 89/100, Loss: 1.0691\n",
      "Epoch 89/100, Loss: 2.7934\n",
      "Epoch 89/100, Loss: 1.4746\n",
      "Epoch 89/100, Loss: 2.7890\n",
      "Epoch 89/100, Loss: 0.9010\n",
      "Epoch 89/100, Loss: 1.4989\n",
      "Epoch 89/100, Loss: 1.9131\n",
      "Epoch 89/100, Loss: 1.0877\n",
      "Epoch 89/100, Loss: 2.0534\n",
      "Epoch 89/100, Loss: 0.9531\n",
      "Epoch 89/100, Loss: 1.0631\n",
      "Epoch 89/100, Loss: 1.8065\n",
      "Epoch 89/100, Loss: 2.3974\n",
      "Epoch 89/100, Loss: 0.7185\n",
      "Epoch 89/100, Loss: 2.4649\n",
      "Epoch 89/100, Loss: 1.4146\n",
      "Epoch 89/100, Loss: 2.9244\n",
      "Epoch 89/100, Loss: 1.0426\n",
      "Epoch 89/100, Loss: 1.4293\n",
      "Epoch 89/100, Loss: 1.5902\n",
      "Epoch 89/100, Loss: 2.6752\n",
      "Epoch 89/100, Loss: 1.0593\n",
      "Epoch 89/100, Loss: 1.0206\n",
      "Epoch 89/100, Loss: 1.0251\n",
      "Epoch 89/100, Loss: 2.8549\n",
      "Epoch 89/100, Loss: 1.1226\n",
      "Epoch 89/100, Loss: 1.4718\n",
      "Epoch 89/100, Loss: 0.8605\n",
      "Epoch 89/100, Loss: 1.4137\n",
      "Epoch 89/100, Loss: 1.3075\n",
      "Epoch 89/100, Loss: 1.5418\n",
      "Epoch 89/100, Loss: 0.9817\n",
      "Epoch 89/100, Loss: 0.8182\n",
      "Epoch 89/100, Loss: 1.3602\n",
      "Epoch 89/100, Loss: 1.5827\n",
      "Epoch 89/100, Loss: 2.7492\n",
      "Epoch 89/100, Loss: 3.0084\n",
      "Epoch 89/100, Loss: 2.3849\n",
      "Epoch 89/100, Loss: 1.4248\n",
      "Epoch 89/100, Loss: 1.9774\n",
      "Epoch 89/100, Loss: 1.5335\n",
      "Epoch 89/100, Loss: 2.0610\n",
      "Epoch 89/100, Loss: 1.5636\n",
      "Epoch 89/100, Loss: 1.1151\n",
      "Epoch 89/100, Loss: 0.8151\n",
      "Epoch 89/100, Loss: 1.9724\n",
      "Epoch 89/100, Loss: 2.5946\n",
      "Epoch 89/100, Loss: 0.7428\n",
      "Epoch 89/100, Loss: 2.0744\n",
      "Epoch 89/100, Loss: 1.5529\n",
      "Epoch 89/100, Loss: 1.9589\n",
      "Epoch 89/100, Loss: 1.2109\n",
      "Epoch 89/100, Loss: 0.6901\n",
      "Epoch 89/100, Loss: 2.1574\n",
      "Epoch 89/100, Loss: 0.9946\n",
      "Epoch 89/100, Loss: 1.2675\n",
      "Epoch 89/100, Loss: 1.3724\n",
      "Epoch 89/100, Loss: 2.5292\n",
      "Epoch 89/100, Loss: 2.2256\n",
      "Epoch 90/100, Loss: 1.4690\n",
      "Epoch 90/100, Loss: 1.2544\n",
      "Epoch 90/100, Loss: 1.8977\n",
      "Epoch 90/100, Loss: 0.6761\n",
      "Epoch 90/100, Loss: 0.9068\n",
      "Epoch 90/100, Loss: 1.3698\n",
      "Epoch 90/100, Loss: 1.4942\n",
      "Epoch 90/100, Loss: 0.9347\n",
      "Epoch 90/100, Loss: 2.8756\n",
      "Epoch 90/100, Loss: 1.1861\n",
      "Epoch 90/100, Loss: 1.4273\n",
      "Epoch 90/100, Loss: 1.9117\n",
      "Epoch 90/100, Loss: 1.9091\n",
      "Epoch 90/100, Loss: 2.8100\n",
      "Epoch 90/100, Loss: 0.6263\n",
      "Epoch 90/100, Loss: 1.1354\n",
      "Epoch 90/100, Loss: 1.5537\n",
      "Epoch 90/100, Loss: 2.7746\n",
      "Epoch 90/100, Loss: 0.6384\n",
      "Epoch 90/100, Loss: 2.5060\n",
      "Epoch 90/100, Loss: 1.9801\n",
      "Epoch 90/100, Loss: 1.0328\n",
      "Epoch 90/100, Loss: 2.7488\n",
      "Epoch 90/100, Loss: 1.9086\n",
      "Epoch 90/100, Loss: 1.1846\n",
      "Epoch 90/100, Loss: 2.4691\n",
      "Epoch 90/100, Loss: 1.2758\n",
      "Epoch 90/100, Loss: 1.1536\n",
      "Epoch 90/100, Loss: 0.6596\n",
      "Epoch 90/100, Loss: 1.1587\n",
      "Epoch 90/100, Loss: 2.6604\n",
      "Epoch 90/100, Loss: 2.5466\n",
      "Epoch 90/100, Loss: 1.4976\n",
      "Epoch 90/100, Loss: 2.0995\n",
      "Epoch 90/100, Loss: 1.4693\n",
      "Epoch 90/100, Loss: 1.2122\n",
      "Epoch 90/100, Loss: 1.1080\n",
      "Epoch 90/100, Loss: 1.3933\n",
      "Epoch 90/100, Loss: 1.4666\n",
      "Epoch 90/100, Loss: 2.8715\n",
      "Epoch 90/100, Loss: 2.4745\n",
      "Epoch 90/100, Loss: 0.8952\n",
      "Epoch 90/100, Loss: 0.7518\n",
      "Epoch 90/100, Loss: 2.0159\n",
      "Epoch 90/100, Loss: 0.9959\n",
      "Epoch 90/100, Loss: 1.4288\n",
      "Epoch 90/100, Loss: 2.5682\n",
      "Epoch 90/100, Loss: 2.9272\n",
      "Epoch 90/100, Loss: 1.4043\n",
      "Epoch 90/100, Loss: 2.0184\n",
      "Epoch 90/100, Loss: 1.1922\n",
      "Epoch 90/100, Loss: 1.5653\n",
      "Epoch 90/100, Loss: 1.1294\n",
      "Epoch 90/100, Loss: 2.1909\n",
      "Epoch 90/100, Loss: 1.8615\n",
      "Epoch 90/100, Loss: 1.9492\n",
      "Epoch 90/100, Loss: 1.1957\n",
      "Epoch 90/100, Loss: 1.1444\n",
      "Epoch 90/100, Loss: 1.5251\n",
      "Epoch 90/100, Loss: 1.5652\n",
      "Epoch 90/100, Loss: 1.6656\n",
      "Epoch 90/100, Loss: 1.4504\n",
      "Epoch 91/100, Loss: 1.2645\n",
      "Epoch 91/100, Loss: 1.9530\n",
      "Epoch 91/100, Loss: 2.7496\n",
      "Epoch 91/100, Loss: 1.9447\n",
      "Epoch 91/100, Loss: 1.9888\n",
      "Epoch 91/100, Loss: 1.4068\n",
      "Epoch 91/100, Loss: 1.2804\n",
      "Epoch 91/100, Loss: 1.2468\n",
      "Epoch 91/100, Loss: 1.4397\n",
      "Epoch 91/100, Loss: 1.0970\n",
      "Epoch 91/100, Loss: 1.4486\n",
      "Epoch 91/100, Loss: 2.4076\n",
      "Epoch 91/100, Loss: 0.8810\n",
      "Epoch 91/100, Loss: 2.1072\n",
      "Epoch 91/100, Loss: 1.1462\n",
      "Epoch 91/100, Loss: 1.1673\n",
      "Epoch 91/100, Loss: 1.0868\n",
      "Epoch 91/100, Loss: 2.3967\n",
      "Epoch 91/100, Loss: 2.5391\n",
      "Epoch 91/100, Loss: 0.8608\n",
      "Epoch 91/100, Loss: 1.1341\n",
      "Epoch 91/100, Loss: 1.2031\n",
      "Epoch 91/100, Loss: 1.9208\n",
      "Epoch 91/100, Loss: 2.8029\n",
      "Epoch 91/100, Loss: 2.4547\n",
      "Epoch 91/100, Loss: 1.5833\n",
      "Epoch 91/100, Loss: 2.9254\n",
      "Epoch 91/100, Loss: 1.7767\n",
      "Epoch 91/100, Loss: 1.3846\n",
      "Epoch 91/100, Loss: 1.9012\n",
      "Epoch 91/100, Loss: 0.7703\n",
      "Epoch 91/100, Loss: 1.6000\n",
      "Epoch 91/100, Loss: 1.3988\n",
      "Epoch 91/100, Loss: 1.4939\n",
      "Epoch 91/100, Loss: 1.4658\n",
      "Epoch 91/100, Loss: 1.2715\n",
      "Epoch 91/100, Loss: 1.5428\n",
      "Epoch 91/100, Loss: 1.9200\n",
      "Epoch 91/100, Loss: 0.8952\n",
      "Epoch 91/100, Loss: 1.1682\n",
      "Epoch 91/100, Loss: 0.9716\n",
      "Epoch 91/100, Loss: 1.9250\n",
      "Epoch 91/100, Loss: 1.4607\n",
      "Epoch 91/100, Loss: 2.9077\n",
      "Epoch 91/100, Loss: 1.1979\n",
      "Epoch 91/100, Loss: 1.5602\n",
      "Epoch 91/100, Loss: 0.7083\n",
      "Epoch 91/100, Loss: 2.4320\n",
      "Epoch 91/100, Loss: 1.6841\n",
      "Epoch 91/100, Loss: 2.1472\n",
      "Epoch 91/100, Loss: 1.1159\n",
      "Epoch 91/100, Loss: 0.7077\n",
      "Epoch 91/100, Loss: 0.6511\n",
      "Epoch 91/100, Loss: 2.8872\n",
      "Epoch 91/100, Loss: 1.3921\n",
      "Epoch 91/100, Loss: 1.0818\n",
      "Epoch 91/100, Loss: 2.5680\n",
      "Epoch 91/100, Loss: 1.9313\n",
      "Epoch 91/100, Loss: 1.7035\n",
      "Epoch 91/100, Loss: 1.1745\n",
      "Epoch 91/100, Loss: 2.7118\n",
      "Epoch 91/100, Loss: 1.0512\n",
      "Epoch 92/100, Loss: 1.2407\n",
      "Epoch 92/100, Loss: 1.8301\n",
      "Epoch 92/100, Loss: 1.4044\n",
      "Epoch 92/100, Loss: 1.4270\n",
      "Epoch 92/100, Loss: 1.0482\n",
      "Epoch 92/100, Loss: 1.4694\n",
      "Epoch 92/100, Loss: 1.4726\n",
      "Epoch 92/100, Loss: 2.0128\n",
      "Epoch 92/100, Loss: 1.1422\n",
      "Epoch 92/100, Loss: 0.7028\n",
      "Epoch 92/100, Loss: 1.5841\n",
      "Epoch 92/100, Loss: 1.7800\n",
      "Epoch 92/100, Loss: 1.4575\n",
      "Epoch 92/100, Loss: 0.6241\n",
      "Epoch 92/100, Loss: 1.5432\n",
      "Epoch 92/100, Loss: 1.3498\n",
      "Epoch 92/100, Loss: 2.4749\n",
      "Epoch 92/100, Loss: 1.0650\n",
      "Epoch 92/100, Loss: 1.5251\n",
      "Epoch 92/100, Loss: 1.0445\n",
      "Epoch 92/100, Loss: 0.5799\n",
      "Epoch 92/100, Loss: 1.5268\n",
      "Epoch 92/100, Loss: 1.9114\n",
      "Epoch 92/100, Loss: 2.8812\n",
      "Epoch 92/100, Loss: 0.5408\n",
      "Epoch 92/100, Loss: 1.5447\n",
      "Epoch 92/100, Loss: 2.6133\n",
      "Epoch 92/100, Loss: 1.9273\n",
      "Epoch 92/100, Loss: 2.7940\n",
      "Epoch 92/100, Loss: 2.1456\n",
      "Epoch 92/100, Loss: 1.0396\n",
      "Epoch 92/100, Loss: 1.3129\n",
      "Epoch 92/100, Loss: 2.1353\n",
      "Epoch 92/100, Loss: 0.5564\n",
      "Epoch 92/100, Loss: 1.0182\n",
      "Epoch 92/100, Loss: 1.3300\n",
      "Epoch 92/100, Loss: 0.8888\n",
      "Epoch 92/100, Loss: 2.9473\n",
      "Epoch 92/100, Loss: 1.2020\n",
      "Epoch 92/100, Loss: 0.8396\n",
      "Epoch 92/100, Loss: 2.9929\n",
      "Epoch 92/100, Loss: 1.2084\n",
      "Epoch 92/100, Loss: 0.9944\n",
      "Epoch 92/100, Loss: 2.5375\n",
      "Epoch 92/100, Loss: 2.9355\n",
      "Epoch 92/100, Loss: 1.1438\n",
      "Epoch 92/100, Loss: 1.3701\n",
      "Epoch 92/100, Loss: 1.1262\n",
      "Epoch 92/100, Loss: 2.6999\n",
      "Epoch 92/100, Loss: 1.4056\n",
      "Epoch 92/100, Loss: 2.0635\n",
      "Epoch 92/100, Loss: 1.1614\n",
      "Epoch 92/100, Loss: 2.4783\n",
      "Epoch 92/100, Loss: 2.1455\n",
      "Epoch 92/100, Loss: 0.9594\n",
      "Epoch 92/100, Loss: 1.0015\n",
      "Epoch 92/100, Loss: 2.0057\n",
      "Epoch 92/100, Loss: 2.8798\n",
      "Epoch 92/100, Loss: 1.5350\n",
      "Epoch 92/100, Loss: 1.6158\n",
      "Epoch 92/100, Loss: 2.5165\n",
      "Epoch 92/100, Loss: 2.0831\n",
      "Epoch 93/100, Loss: 2.2457\n",
      "Epoch 93/100, Loss: 1.4528\n",
      "Epoch 93/100, Loss: 2.0175\n",
      "Epoch 93/100, Loss: 1.3882\n",
      "Epoch 93/100, Loss: 1.1450\n",
      "Epoch 93/100, Loss: 2.2825\n",
      "Epoch 93/100, Loss: 2.2717\n",
      "Epoch 93/100, Loss: 2.7318\n",
      "Epoch 93/100, Loss: 0.9883\n",
      "Epoch 93/100, Loss: 2.8278\n",
      "Epoch 93/100, Loss: 2.0755\n",
      "Epoch 93/100, Loss: 1.3702\n",
      "Epoch 93/100, Loss: 1.4490\n",
      "Epoch 93/100, Loss: 0.8838\n",
      "Epoch 93/100, Loss: 1.1494\n",
      "Epoch 93/100, Loss: 1.2399\n",
      "Epoch 93/100, Loss: 1.3686\n",
      "Epoch 93/100, Loss: 1.3007\n",
      "Epoch 93/100, Loss: 1.1563\n",
      "Epoch 93/100, Loss: 0.9049\n",
      "Epoch 93/100, Loss: 2.6072\n",
      "Epoch 93/100, Loss: 1.3968\n",
      "Epoch 93/100, Loss: 1.4474\n",
      "Epoch 93/100, Loss: 1.5459\n",
      "Epoch 93/100, Loss: 1.4958\n",
      "Epoch 93/100, Loss: 0.8855\n",
      "Epoch 93/100, Loss: 0.9896\n",
      "Epoch 93/100, Loss: 1.8874\n",
      "Epoch 93/100, Loss: 1.0950\n",
      "Epoch 93/100, Loss: 1.0697\n",
      "Epoch 93/100, Loss: 1.1168\n",
      "Epoch 93/100, Loss: 2.0792\n",
      "Epoch 93/100, Loss: 1.9033\n",
      "Epoch 93/100, Loss: 1.4941\n",
      "Epoch 93/100, Loss: 2.7459\n",
      "Epoch 93/100, Loss: 1.9937\n",
      "Epoch 93/100, Loss: 2.0317\n",
      "Epoch 93/100, Loss: 1.1735\n",
      "Epoch 93/100, Loss: 1.8806\n",
      "Epoch 93/100, Loss: 1.9659\n",
      "Epoch 93/100, Loss: 1.6351\n",
      "Epoch 93/100, Loss: 1.9232\n",
      "Epoch 93/100, Loss: 2.9261\n",
      "Epoch 93/100, Loss: 2.3887\n",
      "Epoch 93/100, Loss: 1.5545\n",
      "Epoch 93/100, Loss: 1.3365\n",
      "Epoch 93/100, Loss: 0.9068\n",
      "Epoch 93/100, Loss: 1.1827\n",
      "Epoch 93/100, Loss: 0.8270\n",
      "Epoch 93/100, Loss: 1.5913\n",
      "Epoch 93/100, Loss: 1.4910\n",
      "Epoch 93/100, Loss: 2.5074\n",
      "Epoch 93/100, Loss: 2.6276\n",
      "Epoch 93/100, Loss: 1.0727\n",
      "Epoch 93/100, Loss: 2.7968\n",
      "Epoch 93/100, Loss: 1.3487\n",
      "Epoch 93/100, Loss: 1.2219\n",
      "Epoch 93/100, Loss: 1.1384\n",
      "Epoch 93/100, Loss: 2.0584\n",
      "Epoch 93/100, Loss: 0.7490\n",
      "Epoch 93/100, Loss: 1.4897\n",
      "Epoch 93/100, Loss: 0.9390\n",
      "Epoch 94/100, Loss: 2.4024\n",
      "Epoch 94/100, Loss: 1.4771\n",
      "Epoch 94/100, Loss: 1.2887\n",
      "Epoch 94/100, Loss: 1.3430\n",
      "Epoch 94/100, Loss: 0.7443\n",
      "Epoch 94/100, Loss: 1.8070\n",
      "Epoch 94/100, Loss: 1.2195\n",
      "Epoch 94/100, Loss: 1.2520\n",
      "Epoch 94/100, Loss: 1.8677\n",
      "Epoch 94/100, Loss: 2.3504\n",
      "Epoch 94/100, Loss: 1.0685\n",
      "Epoch 94/100, Loss: 2.7643\n",
      "Epoch 94/100, Loss: 1.4539\n",
      "Epoch 94/100, Loss: 1.0277\n",
      "Epoch 94/100, Loss: 2.7995\n",
      "Epoch 94/100, Loss: 1.1120\n",
      "Epoch 94/100, Loss: 2.9199\n",
      "Epoch 94/100, Loss: 1.4238\n",
      "Epoch 94/100, Loss: 1.8514\n",
      "Epoch 94/100, Loss: 2.7840\n",
      "Epoch 94/100, Loss: 1.3915\n",
      "Epoch 94/100, Loss: 1.1971\n",
      "Epoch 94/100, Loss: 2.8790\n",
      "Epoch 94/100, Loss: 1.5154\n",
      "Epoch 94/100, Loss: 0.7311\n",
      "Epoch 94/100, Loss: 1.8868\n",
      "Epoch 94/100, Loss: 1.1050\n",
      "Epoch 94/100, Loss: 1.0953\n",
      "Epoch 94/100, Loss: 2.0878\n",
      "Epoch 94/100, Loss: 2.0739\n",
      "Epoch 94/100, Loss: 0.6851\n",
      "Epoch 94/100, Loss: 1.4026\n",
      "Epoch 94/100, Loss: 1.3202\n",
      "Epoch 94/100, Loss: 1.1696\n",
      "Epoch 94/100, Loss: 1.9057\n",
      "Epoch 94/100, Loss: 2.6430\n",
      "Epoch 94/100, Loss: 2.0542\n",
      "Epoch 94/100, Loss: 1.6133\n",
      "Epoch 94/100, Loss: 2.0018\n",
      "Epoch 94/100, Loss: 0.9663\n",
      "Epoch 94/100, Loss: 1.4485\n",
      "Epoch 94/100, Loss: 1.5199\n",
      "Epoch 94/100, Loss: 1.4538\n",
      "Epoch 94/100, Loss: 2.2041\n",
      "Epoch 94/100, Loss: 1.5510\n",
      "Epoch 94/100, Loss: 1.4317\n",
      "Epoch 94/100, Loss: 1.5788\n",
      "Epoch 94/100, Loss: 2.5024\n",
      "Epoch 94/100, Loss: 2.1197\n",
      "Epoch 94/100, Loss: 1.2088\n",
      "Epoch 94/100, Loss: 1.1259\n",
      "Epoch 94/100, Loss: 0.8619\n",
      "Epoch 94/100, Loss: 0.9664\n",
      "Epoch 94/100, Loss: 1.0220\n",
      "Epoch 94/100, Loss: 2.7773\n",
      "Epoch 94/100, Loss: 1.5019\n",
      "Epoch 94/100, Loss: 1.1772\n",
      "Epoch 94/100, Loss: 2.4416\n",
      "Epoch 94/100, Loss: 0.7468\n",
      "Epoch 94/100, Loss: 0.6851\n",
      "Epoch 94/100, Loss: 2.5685\n",
      "Epoch 94/100, Loss: 1.1259\n",
      "Epoch 95/100, Loss: 1.9688\n",
      "Epoch 95/100, Loss: 0.8992\n",
      "Epoch 95/100, Loss: 1.0985\n",
      "Epoch 95/100, Loss: 1.0622\n",
      "Epoch 95/100, Loss: 1.4171\n",
      "Epoch 95/100, Loss: 1.4414\n",
      "Epoch 95/100, Loss: 1.4807\n",
      "Epoch 95/100, Loss: 1.4097\n",
      "Epoch 95/100, Loss: 1.4851\n",
      "Epoch 95/100, Loss: 1.9167\n",
      "Epoch 95/100, Loss: 1.5358\n",
      "Epoch 95/100, Loss: 2.5727\n",
      "Epoch 95/100, Loss: 2.8154\n",
      "Epoch 95/100, Loss: 2.3355\n",
      "Epoch 95/100, Loss: 2.6145\n",
      "Epoch 95/100, Loss: 1.4535\n",
      "Epoch 95/100, Loss: 2.7537\n",
      "Epoch 95/100, Loss: 1.1421\n",
      "Epoch 95/100, Loss: 0.8774\n",
      "Epoch 95/100, Loss: 1.4767\n",
      "Epoch 95/100, Loss: 0.8419\n",
      "Epoch 95/100, Loss: 1.8746\n",
      "Epoch 95/100, Loss: 1.2538\n",
      "Epoch 95/100, Loss: 2.8946\n",
      "Epoch 95/100, Loss: 1.7839\n",
      "Epoch 95/100, Loss: 1.3431\n",
      "Epoch 95/100, Loss: 1.1741\n",
      "Epoch 95/100, Loss: 1.4020\n",
      "Epoch 95/100, Loss: 1.1346\n",
      "Epoch 95/100, Loss: 1.0924\n",
      "Epoch 95/100, Loss: 1.4340\n",
      "Epoch 95/100, Loss: 2.0777\n",
      "Epoch 95/100, Loss: 1.5781\n",
      "Epoch 95/100, Loss: 1.5480\n",
      "Epoch 95/100, Loss: 1.3588\n",
      "Epoch 95/100, Loss: 0.7250\n",
      "Epoch 95/100, Loss: 2.1575\n",
      "Epoch 95/100, Loss: 1.0003\n",
      "Epoch 95/100, Loss: 1.0370\n",
      "Epoch 95/100, Loss: 2.4512\n",
      "Epoch 95/100, Loss: 2.5641\n",
      "Epoch 95/100, Loss: 1.1454\n",
      "Epoch 95/100, Loss: 1.0743\n",
      "Epoch 95/100, Loss: 1.1244\n",
      "Epoch 95/100, Loss: 2.4336\n",
      "Epoch 95/100, Loss: 0.7871\n",
      "Epoch 95/100, Loss: 2.1108\n",
      "Epoch 95/100, Loss: 2.8276\n",
      "Epoch 95/100, Loss: 1.8754\n",
      "Epoch 95/100, Loss: 1.0422\n",
      "Epoch 95/100, Loss: 0.9535\n",
      "Epoch 95/100, Loss: 1.8824\n",
      "Epoch 95/100, Loss: 1.3295\n",
      "Epoch 95/100, Loss: 1.3692\n",
      "Epoch 95/100, Loss: 1.5464\n",
      "Epoch 95/100, Loss: 0.7216\n",
      "Epoch 95/100, Loss: 1.5901\n",
      "Epoch 95/100, Loss: 1.9810\n",
      "Epoch 95/100, Loss: 2.1021\n",
      "Epoch 95/100, Loss: 0.6626\n",
      "Epoch 95/100, Loss: 2.5441\n",
      "Epoch 95/100, Loss: 3.0000\n",
      "Epoch 96/100, Loss: 1.1666\n",
      "Epoch 96/100, Loss: 2.8530\n",
      "Epoch 96/100, Loss: 0.8753\n",
      "Epoch 96/100, Loss: 2.7055\n",
      "Epoch 96/100, Loss: 1.3851\n",
      "Epoch 96/100, Loss: 1.1365\n",
      "Epoch 96/100, Loss: 1.4642\n",
      "Epoch 96/100, Loss: 1.2937\n",
      "Epoch 96/100, Loss: 1.3819\n",
      "Epoch 96/100, Loss: 1.4040\n",
      "Epoch 96/100, Loss: 1.7432\n",
      "Epoch 96/100, Loss: 1.8573\n",
      "Epoch 96/100, Loss: 1.1378\n",
      "Epoch 96/100, Loss: 1.0581\n",
      "Epoch 96/100, Loss: 1.3425\n",
      "Epoch 96/100, Loss: 2.0593\n",
      "Epoch 96/100, Loss: 1.2309\n",
      "Epoch 96/100, Loss: 0.6313\n",
      "Epoch 96/100, Loss: 1.9204\n",
      "Epoch 96/100, Loss: 1.0611\n",
      "Epoch 96/100, Loss: 0.5794\n",
      "Epoch 96/100, Loss: 2.5916\n",
      "Epoch 96/100, Loss: 1.4572\n",
      "Epoch 96/100, Loss: 1.5448\n",
      "Epoch 96/100, Loss: 1.8354\n",
      "Epoch 96/100, Loss: 2.0744\n",
      "Epoch 96/100, Loss: 1.6224\n",
      "Epoch 96/100, Loss: 2.0545\n",
      "Epoch 96/100, Loss: 1.4783\n",
      "Epoch 96/100, Loss: 2.6286\n",
      "Epoch 96/100, Loss: 2.4773\n",
      "Epoch 96/100, Loss: 0.6612\n",
      "Epoch 96/100, Loss: 2.7370\n",
      "Epoch 96/100, Loss: 2.8812\n",
      "Epoch 96/100, Loss: 1.3245\n",
      "Epoch 96/100, Loss: 1.1142\n",
      "Epoch 96/100, Loss: 2.8247\n",
      "Epoch 96/100, Loss: 0.9455\n",
      "Epoch 96/100, Loss: 2.3992\n",
      "Epoch 96/100, Loss: 1.1746\n",
      "Epoch 96/100, Loss: 2.8480\n",
      "Epoch 96/100, Loss: 1.1214\n",
      "Epoch 96/100, Loss: 2.0923\n",
      "Epoch 96/100, Loss: 1.4776\n",
      "Epoch 96/100, Loss: 2.4987\n",
      "Epoch 96/100, Loss: 1.4837\n",
      "Epoch 96/100, Loss: 1.5961\n",
      "Epoch 96/100, Loss: 1.1684\n",
      "Epoch 96/100, Loss: 0.9500\n",
      "Epoch 96/100, Loss: 0.7732\n",
      "Epoch 96/100, Loss: 1.2777\n",
      "Epoch 96/100, Loss: 1.1468\n",
      "Epoch 96/100, Loss: 1.8654\n",
      "Epoch 96/100, Loss: 0.7294\n",
      "Epoch 96/100, Loss: 1.5518\n",
      "Epoch 96/100, Loss: 2.5186\n",
      "Epoch 96/100, Loss: 1.0916\n",
      "Epoch 96/100, Loss: 1.5675\n",
      "Epoch 96/100, Loss: 1.0236\n",
      "Epoch 96/100, Loss: 2.1028\n",
      "Epoch 96/100, Loss: 1.4008\n",
      "Epoch 96/100, Loss: 2.0472\n",
      "Epoch 97/100, Loss: 1.4779\n",
      "Epoch 97/100, Loss: 1.8382\n",
      "Epoch 97/100, Loss: 1.4088\n",
      "Epoch 97/100, Loss: 1.2525\n",
      "Epoch 97/100, Loss: 1.4176\n",
      "Epoch 97/100, Loss: 1.0556\n",
      "Epoch 97/100, Loss: 1.1770\n",
      "Epoch 97/100, Loss: 0.7070\n",
      "Epoch 97/100, Loss: 1.5364\n",
      "Epoch 97/100, Loss: 0.6513\n",
      "Epoch 97/100, Loss: 0.5999\n",
      "Epoch 97/100, Loss: 1.5206\n",
      "Epoch 97/100, Loss: 2.5235\n",
      "Epoch 97/100, Loss: 2.8465\n",
      "Epoch 97/100, Loss: 1.3416\n",
      "Epoch 97/100, Loss: 1.1495\n",
      "Epoch 97/100, Loss: 2.7654\n",
      "Epoch 97/100, Loss: 1.0659\n",
      "Epoch 97/100, Loss: 1.8321\n",
      "Epoch 97/100, Loss: 1.4267\n",
      "Epoch 97/100, Loss: 1.3271\n",
      "Epoch 97/100, Loss: 1.5045\n",
      "Epoch 97/100, Loss: 2.0186\n",
      "Epoch 97/100, Loss: 0.8407\n",
      "Epoch 97/100, Loss: 2.7796\n",
      "Epoch 97/100, Loss: 1.1816\n",
      "Epoch 97/100, Loss: 2.7295\n",
      "Epoch 97/100, Loss: 1.1717\n",
      "Epoch 97/100, Loss: 0.9660\n",
      "Epoch 97/100, Loss: 0.8865\n",
      "Epoch 97/100, Loss: 1.6068\n",
      "Epoch 97/100, Loss: 1.8811\n",
      "Epoch 97/100, Loss: 1.1794\n",
      "Epoch 97/100, Loss: 0.6885\n",
      "Epoch 97/100, Loss: 1.3779\n",
      "Epoch 97/100, Loss: 1.7373\n",
      "Epoch 97/100, Loss: 1.2853\n",
      "Epoch 97/100, Loss: 1.9728\n",
      "Epoch 97/100, Loss: 2.5983\n",
      "Epoch 97/100, Loss: 1.6244\n",
      "Epoch 97/100, Loss: 2.4695\n",
      "Epoch 97/100, Loss: 2.5725\n",
      "Epoch 97/100, Loss: 2.1179\n",
      "Epoch 97/100, Loss: 1.2502\n",
      "Epoch 97/100, Loss: 0.7273\n",
      "Epoch 97/100, Loss: 1.4811\n",
      "Epoch 97/100, Loss: 2.0306\n",
      "Epoch 97/100, Loss: 1.1539\n",
      "Epoch 97/100, Loss: 1.4932\n",
      "Epoch 97/100, Loss: 2.9768\n",
      "Epoch 97/100, Loss: 1.9427\n",
      "Epoch 97/100, Loss: 1.1436\n",
      "Epoch 97/100, Loss: 2.5059\n",
      "Epoch 97/100, Loss: 0.9742\n",
      "Epoch 97/100, Loss: 1.1115\n",
      "Epoch 97/100, Loss: 1.5042\n",
      "Epoch 97/100, Loss: 2.8592\n",
      "Epoch 97/100, Loss: 2.0441\n",
      "Epoch 97/100, Loss: 1.3939\n",
      "Epoch 97/100, Loss: 2.5367\n",
      "Epoch 97/100, Loss: 1.9762\n",
      "Epoch 97/100, Loss: 1.1099\n",
      "Epoch 98/100, Loss: 1.0338\n",
      "Epoch 98/100, Loss: 2.0191\n",
      "Epoch 98/100, Loss: 1.7913\n",
      "Epoch 98/100, Loss: 0.9653\n",
      "Epoch 98/100, Loss: 2.0989\n",
      "Epoch 98/100, Loss: 1.1271\n",
      "Epoch 98/100, Loss: 1.2715\n",
      "Epoch 98/100, Loss: 0.8480\n",
      "Epoch 98/100, Loss: 1.7762\n",
      "Epoch 98/100, Loss: 1.8451\n",
      "Epoch 98/100, Loss: 2.5520\n",
      "Epoch 98/100, Loss: 0.8128\n",
      "Epoch 98/100, Loss: 1.0893\n",
      "Epoch 98/100, Loss: 1.4680\n",
      "Epoch 98/100, Loss: 0.9545\n",
      "Epoch 98/100, Loss: 0.8900\n",
      "Epoch 98/100, Loss: 0.7450\n",
      "Epoch 98/100, Loss: 1.5762\n",
      "Epoch 98/100, Loss: 2.0283\n",
      "Epoch 98/100, Loss: 1.4419\n",
      "Epoch 98/100, Loss: 0.6719\n",
      "Epoch 98/100, Loss: 1.4047\n",
      "Epoch 98/100, Loss: 1.4512\n",
      "Epoch 98/100, Loss: 1.1549\n",
      "Epoch 98/100, Loss: 1.0841\n",
      "Epoch 98/100, Loss: 1.5077\n",
      "Epoch 98/100, Loss: 1.3250\n",
      "Epoch 98/100, Loss: 1.3692\n",
      "Epoch 98/100, Loss: 2.7977\n",
      "Epoch 98/100, Loss: 1.5174\n",
      "Epoch 98/100, Loss: 1.3768\n",
      "Epoch 98/100, Loss: 1.3226\n",
      "Epoch 98/100, Loss: 1.3006\n",
      "Epoch 98/100, Loss: 1.1249\n",
      "Epoch 98/100, Loss: 1.8935\n",
      "Epoch 98/100, Loss: 2.4516\n",
      "Epoch 98/100, Loss: 0.8808\n",
      "Epoch 98/100, Loss: 1.8483\n",
      "Epoch 98/100, Loss: 0.9214\n",
      "Epoch 98/100, Loss: 2.1126\n",
      "Epoch 98/100, Loss: 2.8934\n",
      "Epoch 98/100, Loss: 1.5282\n",
      "Epoch 98/100, Loss: 2.9954\n",
      "Epoch 98/100, Loss: 1.5974\n",
      "Epoch 98/100, Loss: 2.8603\n",
      "Epoch 98/100, Loss: 1.3685\n",
      "Epoch 98/100, Loss: 2.4384\n",
      "Epoch 98/100, Loss: 0.7394\n",
      "Epoch 98/100, Loss: 1.9751\n",
      "Epoch 98/100, Loss: 2.8322\n",
      "Epoch 98/100, Loss: 2.4527\n",
      "Epoch 98/100, Loss: 2.4480\n",
      "Epoch 98/100, Loss: 1.0610\n",
      "Epoch 98/100, Loss: 1.5198\n",
      "Epoch 98/100, Loss: 1.0064\n",
      "Epoch 98/100, Loss: 2.0777\n",
      "Epoch 98/100, Loss: 2.5397\n",
      "Epoch 98/100, Loss: 1.2327\n",
      "Epoch 98/100, Loss: 1.4945\n",
      "Epoch 98/100, Loss: 2.9490\n",
      "Epoch 98/100, Loss: 1.5954\n",
      "Epoch 98/100, Loss: 0.7879\n",
      "Epoch 99/100, Loss: 1.0528\n",
      "Epoch 99/100, Loss: 1.4090\n",
      "Epoch 99/100, Loss: 1.4714\n",
      "Epoch 99/100, Loss: 0.8758\n",
      "Epoch 99/100, Loss: 1.5039\n",
      "Epoch 99/100, Loss: 2.3792\n",
      "Epoch 99/100, Loss: 2.7991\n",
      "Epoch 99/100, Loss: 1.4074\n",
      "Epoch 99/100, Loss: 1.4733\n",
      "Epoch 99/100, Loss: 0.9366\n",
      "Epoch 99/100, Loss: 1.2659\n",
      "Epoch 99/100, Loss: 1.4990\n",
      "Epoch 99/100, Loss: 0.7760\n",
      "Epoch 99/100, Loss: 0.7108\n",
      "Epoch 99/100, Loss: 1.5008\n",
      "Epoch 99/100, Loss: 1.1471\n",
      "Epoch 99/100, Loss: 2.4308\n",
      "Epoch 99/100, Loss: 1.1421\n",
      "Epoch 99/100, Loss: 1.3448\n",
      "Epoch 99/100, Loss: 1.3830\n",
      "Epoch 99/100, Loss: 1.0634\n",
      "Epoch 99/100, Loss: 2.4337\n",
      "Epoch 99/100, Loss: 1.6023\n",
      "Epoch 99/100, Loss: 1.3304\n",
      "Epoch 99/100, Loss: 0.9884\n",
      "Epoch 99/100, Loss: 0.6995\n",
      "Epoch 99/100, Loss: 1.2918\n",
      "Epoch 99/100, Loss: 1.8211\n",
      "Epoch 99/100, Loss: 2.6828\n",
      "Epoch 99/100, Loss: 0.6481\n",
      "Epoch 99/100, Loss: 1.2133\n",
      "Epoch 99/100, Loss: 1.2236\n",
      "Epoch 99/100, Loss: 0.9739\n",
      "Epoch 99/100, Loss: 2.7508\n",
      "Epoch 99/100, Loss: 1.3407\n",
      "Epoch 99/100, Loss: 2.1403\n",
      "Epoch 99/100, Loss: 2.4267\n",
      "Epoch 99/100, Loss: 1.5559\n",
      "Epoch 99/100, Loss: 1.7654\n",
      "Epoch 99/100, Loss: 2.8709\n",
      "Epoch 99/100, Loss: 2.0173\n",
      "Epoch 99/100, Loss: 1.9759\n",
      "Epoch 99/100, Loss: 1.0254\n",
      "Epoch 99/100, Loss: 1.8635\n",
      "Epoch 99/100, Loss: 1.8965\n",
      "Epoch 99/100, Loss: 1.1534\n",
      "Epoch 99/100, Loss: 1.2391\n",
      "Epoch 99/100, Loss: 0.9357\n",
      "Epoch 99/100, Loss: 2.4459\n",
      "Epoch 99/100, Loss: 2.8958\n",
      "Epoch 99/100, Loss: 0.7699\n",
      "Epoch 99/100, Loss: 1.4680\n",
      "Epoch 99/100, Loss: 1.1902\n",
      "Epoch 99/100, Loss: 2.0667\n",
      "Epoch 99/100, Loss: 0.9852\n",
      "Epoch 99/100, Loss: 2.0540\n",
      "Epoch 99/100, Loss: 1.3711\n",
      "Epoch 99/100, Loss: 2.1152\n",
      "Epoch 99/100, Loss: 2.9644\n",
      "Epoch 99/100, Loss: 2.8374\n",
      "Epoch 99/100, Loss: 1.5597\n",
      "Epoch 99/100, Loss: 1.9784\n",
      "Epoch 100/100, Loss: 2.6801\n",
      "Epoch 100/100, Loss: 1.4243\n",
      "Epoch 100/100, Loss: 1.3552\n",
      "Epoch 100/100, Loss: 0.7205\n",
      "Epoch 100/100, Loss: 1.3380\n",
      "Epoch 100/100, Loss: 1.1383\n",
      "Epoch 100/100, Loss: 1.7880\n",
      "Epoch 100/100, Loss: 0.8773\n",
      "Epoch 100/100, Loss: 1.1522\n",
      "Epoch 100/100, Loss: 2.3785\n",
      "Epoch 100/100, Loss: 1.0382\n",
      "Epoch 100/100, Loss: 1.2080\n",
      "Epoch 100/100, Loss: 1.3633\n",
      "Epoch 100/100, Loss: 1.2873\n",
      "Epoch 100/100, Loss: 2.0380\n",
      "Epoch 100/100, Loss: 1.4983\n",
      "Epoch 100/100, Loss: 2.0060\n",
      "Epoch 100/100, Loss: 2.3284\n",
      "Epoch 100/100, Loss: 1.9697\n",
      "Epoch 100/100, Loss: 1.7944\n",
      "Epoch 100/100, Loss: 1.0987\n",
      "Epoch 100/100, Loss: 1.8148\n",
      "Epoch 100/100, Loss: 1.0385\n",
      "Epoch 100/100, Loss: 1.4523\n",
      "Epoch 100/100, Loss: 2.8557\n",
      "Epoch 100/100, Loss: 1.6813\n",
      "Epoch 100/100, Loss: 0.7606\n",
      "Epoch 100/100, Loss: 1.0420\n",
      "Epoch 100/100, Loss: 1.4524\n",
      "Epoch 100/100, Loss: 1.1711\n",
      "Epoch 100/100, Loss: 0.9623\n",
      "Epoch 100/100, Loss: 2.4932\n",
      "Epoch 100/100, Loss: 1.4537\n",
      "Epoch 100/100, Loss: 1.5924\n",
      "Epoch 100/100, Loss: 0.9011\n",
      "Epoch 100/100, Loss: 0.7646\n",
      "Epoch 100/100, Loss: 2.9185\n",
      "Epoch 100/100, Loss: 2.0759\n",
      "Epoch 100/100, Loss: 0.7025\n",
      "Epoch 100/100, Loss: 0.9745\n",
      "Epoch 100/100, Loss: 0.8928\n",
      "Epoch 100/100, Loss: 2.2031\n",
      "Epoch 100/100, Loss: 1.2988\n",
      "Epoch 100/100, Loss: 0.6684\n",
      "Epoch 100/100, Loss: 1.5374\n",
      "Epoch 100/100, Loss: 2.9430\n",
      "Epoch 100/100, Loss: 2.0516\n",
      "Epoch 100/100, Loss: 2.5332\n",
      "Epoch 100/100, Loss: 1.4917\n",
      "Epoch 100/100, Loss: 1.4927\n",
      "Epoch 100/100, Loss: 1.6159\n",
      "Epoch 100/100, Loss: 1.2013\n",
      "Epoch 100/100, Loss: 2.1226\n",
      "Epoch 100/100, Loss: 0.9022\n",
      "Epoch 100/100, Loss: 1.3221\n",
      "Epoch 100/100, Loss: 1.7284\n",
      "Epoch 100/100, Loss: 1.2448\n",
      "Epoch 100/100, Loss: 2.7711\n",
      "Epoch 100/100, Loss: 2.8327\n",
      "Epoch 100/100, Loss: 2.5110\n",
      "Epoch 100/100, Loss: 2.6879\n",
      "Epoch 100/100, Loss: 1.3302\n"
     ]
    }
   ],
   "execution_count": 67
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.20"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
